{"id":38404403,"url":"https://github.com/tnk-studio/gortal","last_synced_at":"2026-01-17T04:00:15.384Z","repository":{"id":52086340,"uuid":"224339699","full_name":"TNK-Studio/gortal","owner":"TNK-Studio","description":"🚪A super lightweight jumpserver service developed using the Go language.  一个使用 Go 语言开发的，超级轻量的跳板机服务。","archived":false,"fork":false,"pushed_at":"2020-11-17T02:28:31.000Z","size":284,"stargazers_count":373,"open_issues_count":7,"forks_count":61,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-01T06:33:34.747Z","etag":null,"topics":["golang","jumpserver","jumpserver-service","lightweight","tools"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TNK-Studio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-27T03:52:59.000Z","updated_at":"2025-02-12T06:38:44.000Z","dependencies_parsed_at":"2022-08-13T01:21:08.294Z","dependency_job_id":null,"html_url":"https://github.com/TNK-Studio/gortal","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/TNK-Studio/gortal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNK-Studio%2Fgortal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNK-Studio%2Fgortal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNK-Studio%2Fgortal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNK-Studio%2Fgortal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TNK-Studio","download_url":"https://codeload.github.com/TNK-Studio/gortal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNK-Studio%2Fgortal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28494113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T02:39:23.645Z","status":"ssl_error","status_checked_at":"2026-01-17T02:34:19.649Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","jumpserver","jumpserver-service","lightweight","tools"],"created_at":"2026-01-17T04:00:12.241Z","updated_at":"2026-01-17T04:00:15.278Z","avatar_url":"https://github.com/TNK-Studio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gortal\n\n[![Actions Status](https://img.shields.io/github/workflow/status/TNK-Studio/gortal/Build%20release)](https://github.com/TNK-Studio/gortal/actions)[![Docker build](https://img.shields.io/docker/cloud/build/elfgzp/gortal)](https://hub.docker.com/repository/docker/elfgzp/gortal)[![Docker build automated](https://img.shields.io/docker/cloud/automated/elfgzp/gortal)](https://hub.docker.com/repository/docker/elfgzp/gortal)\n[![Docker pull](https://img.shields.io/docker/pulls/elfgzp/gortal)](https://hub.docker.com/repository/docker/elfgzp/gortal)[![Release Download](https://img.shields.io/github/downloads/TNK-Studio/gortal/total)](https://github.com/TNK-Studio/gortal/releases)\n\nA super lightweight jumpserver service developed using the Go language. [English Document](./README.md) | [中文文档](./doc/README_CN.md)\n\n![gortal](./doc/gortal.gif)\n\n## Deployment\n\nGortal needs a server with a public IP as the server for the jumpserver service.\nThis server needs external network access to be able to access the target server you need to access.\n\n### Docker\n\n```shell\n$ docker pull elfgzp/gortal:latest\n$ mkdir -p ~/.gortal/.ssh\n$ docker run \\\n  -p 2222:2222 \\\n  -v ~/.gortal:/root\\\n  -v ~/.gortal/.ssh:/root/.ssh\\\n  --name gortal -d gortal:latest\n```\n\n### Binary file\n\nDownload the version you need from the [Release](https://github.com/TNK-Studio/gortal/releases) page, decompress it to get the `gortal` binary executable, and run it.\n\n```shell\n$ ./gortal\nstarting ssh server on port 2222...\n```\n\n## How to use\n\n### First Time  \n\nAfter the gortal service is started, an sshd service will be started on port `2222`. You can also set the startup port through `-p`.\n\nAfter the service is started, you only need to use the `ssh` command to access the service.\n\n```shell\n$ ssh 127.0.0.1 -p 2222\nroot@127.0.0.1's password:\nNew Username: root█\nPassword: ******█\nConfirm your password: ******█\nPlease login again with your new acount.\nShared connection to 127.0.0.1 closed.\n```\n\nThe default user password for the first access is `newuser`, and then the command line prompts to create a new user. Follow the prompts to create a new `admin` account for the jumpserver service.\n\n```shell\n$ ssh root@127.0.0.1 -p 2222\nroot@127.0.0.1's password:\nUse the arrow keys to navigate: ↓ ↑ → ← \n? Please select the function you need: \n  ▸ List servers\n    Edit users\n    Edit servers\n    Edit personal info\n    Quit\n```\n\nYou can use it after logging in with your password again.\n\n### Upload or download file server via jumpserver\n\nIf you want to upload or download file from the server via jumpserver, you can use the `scp` command in the following format:\n\n```shell\n$ scp -P 2222 ~/Desktop/README.md  gzp@jumpserver:gzp@server2:~/Desktop/README1.md\nREADME.md                                        100% 9279    73.9KB/s   00:00\n```\n\n```shell\nscp -P 2222 gzp@jumpserver:gzp@server2:~/Desktop/video.mp4 ~/Downloads\nvideo.mp4                           100%   10MB  58.8MB/s   00:00\n```\n\nNote the use of `:` after `gzp@jumpserver` plus the `key` and `username` of the server you need to transfer, and finally write the destination or source path.\nFolder transfer is currently not supported. Please compress the file and upload or download it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftnk-studio%2Fgortal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftnk-studio%2Fgortal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftnk-studio%2Fgortal/lists"}