Windows 10でBash on Ubuntu」にSSHするにはどうすればいいですか?

bash ssh windows-10 windows-10-v1607 windows-subsystem-for-linux

私はWindows 10 Anniversary Editionに「Bash on Ubuntu on Windows」をインストールして動作させています。このUbuntuインスタンスにSSHできるようにしたいのですが、openssh-serverをインストールして設定しているにもかかわらず(ポート2200でリスニングしている)、”localhost:2200 “にSSHしようとすると、”Server unexpectedly closed network connection “と言われてしまいます

これを成功させた人はいますか?

enter image description here

  120  Mick  2016-08-09


ベストアンサー

うまくいった方法はこうだ

ssh-serverをアンインストールして、再インストールして、起動していることを確認

sudo service ssh --full-restart

rootアクセスをオフにして、設定ファイルに別のユーザーを追加したことを確認してください

予想通り127.0.0.1:22でサブシステムに接続できました。これでお役に立てれば幸いです

Here's a screenshot.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_configPermitRootLogin noを設定してルートログインを禁止する
  4. そして、その下に書いてある行を追加します

    AllowUsers yourusername

    パスワードを使ってログインしたい場合は、PasswordAuthenticationyesになっていることを確認してください

  5. UsePrivilegeSeparation noを追加/変更して特権分離を無効にする

  6. sudo service ssh --full-restart

  7. PuTTY のような ssh クライアントを使用して、Windows から Linux サブシステムに接続します

138  Master Azazel  2016-08-16


上記の解答が近かったのですが、やはりConnection closed by 127.0.0.1の問題がありました

そこで、最初からやり直して、sshdパッケージを削除するときに--purgeオプションを指定することで、この問題を解決することができました (以下で説明します)

user$ sudo apt-get remove --purge openssh-server # First remove sshd with --purge option.
user$ sudo apt-get install openssh-server
user$ sudo vi /etc/ssh/sshd_config # **See note below.
user$ sudo service ssh --full-restart

# ** Change Port from 22 to 2222. (Just in case MS-Windows is using port 22).
#    Alternatively, you can disable MS-Windows' native SSH service if you
#    wish to use port 22.

お役に立てれば幸いです。\(◠﹏◠)/

38  NYCeyes  2017-05-16


Windows の実装では chroot を提供していないので、/etc/ssh/sshd_config を変更する必要があります

UsePrivilegeSeparation no

また、ユーザー追加コマンドなどを使ってユーザーを作成する必要があります

27  d1val  2016-08-09


アザゼル師匠の提案通りに全てやってみましたが、問題が発生しました。ポート22に接続するとパスワードを求められましたが、Linuxサブシステムで設定したパスワードではうまくいきませんでした

解決策その1:/etc/ssh/sshd_configのSSHポートを変更し、サブシステムのSSHサーバを再起動します

解決策その2:Windowsのサービスコントロールパネルの「SSH Server Broker Services」を無効化/停止し、サブシステムのSSHサーバを再起動します

5  scotty86  2016-11-17


sshできない理由は、サーバからのログに記載されています

chroot(“/var/run/sshd”).関数は実装されていません[preauth]

Linux サブシステムには chroot が実装されていないようで、ssh サーバがそれを必要としているため、接続が許可されていません

2  Sami Kuhmonen  2016-08-09


タイトルとURLをコピーしました