豚吐露@wiki
WSLにSSH接続したい
最終更新:
Bot(ページ名リンク)
-
view
WSL(Windows Subsystem for Linux)にSSH接続したい
Windows10 Pro(64bit) Version 1803
Ubuntu 18.04.1 LTS
Ubuntu 18.04.1 LTS
WSL便利ですね。
便利なんだけど、コマンドプロンプトベースのターミナルが気に食わない。
なので、WSL上のsshdにtera termで接続するようにしてみた。
便利なんだけど、コマンドプロンプトベースのターミナルが気に食わない。
なので、WSL上のsshdにtera termで接続するようにしてみた。
Version1803になるまでは、ターミナル起動しっぱなしじゃないとdaemon死んじゃうので邪魔なwindow出しっぱなしになってたけど...
1803からターミナル開いとかんでもbackgroundでdaemon走らせてくれるようになったのが良いですよね。
1803からターミナル開いとかんでもbackgroundでdaemon走らせてくれるようになったのが良いですよね。
ただ、普通のUbuntuにsshd入れてつなぐよりも、クセがあるのでメモしとく。
接続環境の作り方
microsoftが情報公開しとる。
https://docs.microsoft.com/ja-jp/windows/wsl/troubleshooting#correct-ssh-related-permission-errors
https://docs.microsoft.com/ja-jp/windows/wsl/troubleshooting#correct-ssh-related-permission-errors
以下のコマンド打って、Openssh入れ直せとよ。
$ sudo apt update $ sudo apt upgrade $ sudo apt-get purge openssh-server $ sudo apt-get install openssh-server $ sudo [[service]] ssh restart
そしたら勝手に鍵作られるので、下の『【old】接続環境の作り方』以降の手順は不要。
localhost:22へ接続してuserid/password入力したら繋がった。
localhost:22へ接続してuserid/password入力したら繋がった。
port番号変えたかったら、以下のfileの"Port"ってトコを修正したら良い。
/etc/ssh/sshd_config
ちゃんと未使用portなの確認してな。
で、以下の自動起動を設定すると良い感じ。
WSLのssh serverを自動起動させたい
WSLのssh serverを自動起動させたい
【old】接続環境の作り方
さて、やり方。
現時点では、WSLにUbuntu突っ込んだ段階で、sshdは入ってる。
一応
一応
$ sudo apt update $ sudo apt upgrade
くらいはやっておく。
で、sshを再起動させてみると...
$ sudo service ssh restart
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
Could not load host key: /etc/ssh/ssh_host_rsa_key
こんなerrorが出る。
ssh入ってるけど鍵が無い状態らしいので、鍵作成。
ssh入ってるけど鍵が無い状態らしいので、鍵作成。
$ sudo ssh-keygen -t ecdsa -N '' -f /etc/ssh/ssh_host_ecdsa_key $ sudo ssh-keygen -t ed25519 -N '' -f /etc/ssh/ssh_host_ed25519_key $ sudo ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key
で、更にsshd_configが変な設定になってるので直す。
何故か『PasswordAuthentication』が『no』に設定されてる...passwordなんて脆弱なもん使うなと...
これを『yes』に変更してやる。
これを『yes』に変更してやる。
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication yes
上記の設定したらsshdを再起動。
$ sudo service ssh restart
* Restarting OpenBSD Secure Shell server sshd [ OK ]
これでtera termとか好みのterminal softで接続を試みる。
入れたらok。
入れたらok。
まさかのsshd_configだったという感じ...
素のUbuntu18.04を入れた時はそんな設定になっとらんかったので、完全に盲点だった。多分、証明書も手動で作らんでも良かったような...
『iptables』とか『/etc/hosts.allow』とか『Windowsのfirewall』とか『windows serviceのSSH Server Broker』とか色々調べまくったわ...
ま、localhostなんですけど...
ここら辺は、telnetでlocalhost:22に繋いで『SSH-2.0-OpenSSH_7.6p1 Ubuntu-4』って表示されとったから大丈夫って分かったが...
素のUbuntu18.04を入れた時はそんな設定になっとらんかったので、完全に盲点だった。多分、証明書も手動で作らんでも良かったような...
『iptables』とか『/etc/hosts.allow』とか『Windowsのfirewall』とか『windows serviceのSSH Server Broker』とか色々調べまくったわ...
ま、localhostなんですけど...
ここら辺は、telnetでlocalhost:22に繋いで『SSH-2.0-OpenSSH_7.6p1 Ubuntu-4』って表示されとったから大丈夫って分かったが...
色々無駄に時間かけさせられた...
更新日: 2022年12月14日 (水) 14時04分56秒