{"id":20438151,"url":"https://github.com/yantis/docker-archlinux-ssh-hpn","last_synced_at":"2025-04-12T22:29:11.000Z","repository":{"id":30088826,"uuid":"33638468","full_name":"yantis/docker-archlinux-ssh-hpn","owner":"yantis","description":"Docker Arch Linux High Performance SSH/SCP - HPN-SSH Client / Server Container","archived":false,"fork":false,"pushed_at":"2016-07-04T14:48:29.000Z","size":21,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T16:38:31.519Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yantis.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":"2015-04-08T23:50:47.000Z","updated_at":"2023-05-01T03:15:57.000Z","dependencies_parsed_at":"2022-08-28T18:25:00.770Z","dependency_job_id":null,"html_url":"https://github.com/yantis/docker-archlinux-ssh-hpn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantis%2Fdocker-archlinux-ssh-hpn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantis%2Fdocker-archlinux-ssh-hpn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantis%2Fdocker-archlinux-ssh-hpn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantis%2Fdocker-archlinux-ssh-hpn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yantis","download_url":"https://codeload.github.com/yantis/docker-archlinux-ssh-hpn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248639382,"owners_count":21137838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-15T09:09:29.083Z","updated_at":"2025-04-12T22:29:10.976Z","avatar_url":"https://github.com/yantis.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# archlinux-ssh-hpn\n\nOn Docker hub [archlinux-small-ssh-hpn](https://registry.hub.docker.com/u/yantis/archlinux-small-ssh-hpn/)\non Github [docker-archlinux-ssh-hpn](https://github.com/yantis/docker-archlinux-ssh-hpn)\n\n[High Performance SSH/SCP - HPN-SSH](http://www.psc.edu/index.php/hpn-ssh)\nOpenSSH_6.8p1-hpn14v5, OpenSSL 1.0.2a 19 Mar 2015\n\nThis small layer adds 6MB to the [archlinux-small]\n(https://registry.hub.docker.com/u/yantis/archlinux-small/) layer.\n\nThis is both the server and the client. With the default being the server running as an [S6 service]\n(http://skarnet.org/software/s6/index.html)\n\nThere are some nice speedup improvements to this. One of the nice features of this is the NONE cipher\nfor when there isn't at TTY allocated. ie: SCP. (authentication is still encrypted but your data \nisn't. So keep that in mind (ie: It is fine for images and video but not OK for your bitcoin wallet).\n\nOn the client you would use it as:\nssh user@hostname oNoneEnabled=true -oNoneSwitch=yes\n\nYou can also use one of the multithread ciphers for when a TTY is allocated like:\nssh user@hostname -oCipher=aes128-ctr\n\n\n### Docker Images Structure\n\u003e[yantis/archlinux-tiny](https://github.com/yantis/docker-archlinux-tiny)\n\u003e\u003e[yantis/archlinux-small](https://github.com/yantis/docker-archlinux-small)\n\u003e\u003e\u003e[yantis/archlinux-small-ssh-hpn](https://github.com/yantis/docker-archlinux-ssh-hpn)\n\u003e\u003e\u003e\u003e[yantis/ssh-hpn-x](https://github.com/yantis/docker-ssh-hpn-x)\n\u003e\u003e\u003e\u003e\u003e[yantis/dynamic-video](https://github.com/yantis/docker-dynamic-video)\n\u003e\u003e\u003e\u003e\u003e\u003e[yantis/virtualgl](https://github.com/yantis/docker-virtualgl)\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e[yantis/wine](https://github.com/yantis/docker-wine)\n\n\n## Server\n\nThe server follows these docker conventions:\n\n* `-it` will run an interactive session that can be terminated with CTRL+C.\n* `--rm` will run a temporary session that will make sure to remove the container on exit.\n* `-v $HOME/.ssh/authorized_keys:/authorized_keys:ro` (optionally provide your keys authorized keys)\n* `-p 49158:22` port to map to port 22.\n\nIf you have authorized public keys it will use them for both the root/docker users. I like using it\nthis way for example if I throw this up on AWS and I just use the same keys both both the primary\nsshd server and the docker containers.\n\nIf you pass it keys it will disable password logging in. If you don't pass it authorized keys it\nwill enable the login via password.\nThe default user/password is docker/docker\n\n```bash\ndocker run \\\n           -ti \\\n           --rm \\\n           -v $HOME/.ssh/authorized_keys:/authorized_keys:ro \\\n           -h docker \\\n           -p 49158:22 \\\n           yantis/archlinux-small-ssh-hpn\n```\n\n\n## Client\n\nTo use the client you can just run it as so to get a shell (or /bin/bash if you prefer)\n\n```bash\ndocker run -ti --rm yantis/archlinux-small-ssh-hpn /bin/zsh\n```\n\nThis example uploads a file to your server.\n\n```bash\ndocker run -ti --rm -v ~/Downloads:/Downloads yantis/archlinux-small-ssh-hpn scp -P 49158 -oNoneEnabled=true -oNoneSwitch=yes /Downloads/alpine-3.1.3-x86_64.iso docker@monster:~/ \n```\n\nThis example uses a private key to connect to your server and runs xeyes.\n\n```bash\nxhost +si:localuser:$(whoami) \u003e/dev/null\n\ndocker run \\\n           -ti \\\n           --rm \\\n           -e DISPLAY \\\n           -v /tmp/.X11-unix:/tmp/.X11-unix:ro \\\n           -v ~/.ssh/privatekey.pem:/home/docker/.ssh/privatekey.pem:ro \\\n           -u docker \\\n           yantis/archlinux-small-ssh-hpn ssh -X -i /home/docker/.ssh/privatekey.pem docker@yourserver -p 49158 -t xeyes\n```\n\nIf you look at the below screenshot I ran three tests. First one is normal, second one is the NONE\ncipher and the third one was normal to show no caching was going on.\nThe NONE cipher was twice as fast.\n![](http://yantis-scripts.s3.amazonaws.com/screenshot_20150408-053726.jpg)\n\nIf you have AWS and If this is something you want to play with check out the [launch.sh](https://github.com/yantis/docker-archlinux-ssh-hpn/blob/master/launch.sh)\nscript on github. It will create a new AWS ec2 instance, install docker and launch the container then log you in. It should work with the AWS free tier.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyantis%2Fdocker-archlinux-ssh-hpn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyantis%2Fdocker-archlinux-ssh-hpn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyantis%2Fdocker-archlinux-ssh-hpn/lists"}