WSL上のLinuxにSSH接続した

WSL上のLinuxSSH接続してみました。
環境…Windows10 Home、Debian

SSHとは(出典:Wikipedia)

Secure Shell(セキュアシェル)の略。暗号や認証の技術を利用して、安全にコンピュータを遠隔操作するためのプロトコル
すべてのネットワーク上の通信が暗号化される。
LinuxなどではOpenSSHが最も普及しているため、「SSH」と言った場合はOpenSSHの実装系を指すことが多い。

WSLでSSH接続をするには

同じPCの中に仮想環境でLinuxをインストールするWSLで、Linuxに接続する場合は以下のような役割分担です。

  • Windows…利用者が操作するソフトウェア「SSHクライアント」

  • Linux…サーバ側で接続を受け付けるソフトウェア「SSHサーバ」

WindowsにはOpenSSH Client、LinuxにはOpenSSHをインストールします。
Windows版のインストール手順はMicrosoftのサイトを参照してください。
docs.microsoft.com Linux版は、下記コマンドでインストールします。

# apt install ssh

設定で特に気を付けること

サーバ側

  • 22番ポートからのアクセスを禁止する

初期設定では22番ポートを使用することになっていますが、無差別攻撃を受けやすいです。
sshd_configの

# Port 22
の数字を任意のものに変更します。

  • sshd_configを編集したら、必ず行頭の「#」を削除する

行頭に#が付いていることは、コメントアウトされている(処理されない)ことを表しています。
任意の設定にしたはずなのに反映されない場合は、行頭の「#」の有無を要確認。

  • sshd_configの設定が終了したらSSHを再起動する
/etc/init.d/sshd restart

のコマンドで必ず再起動します。

クライアント側

  • ポート番号を指定して接続

-p ポート番号 ポート番号には、sshd_configで指定したポート番号を入力します。

  • 公開鍵の種類を指定して接続 -t 公開鍵の種類 公開鍵の種類には、RSA、ed25519などがあります。

参考リンク

sshd_configの設定内容に関する詳細な説明
Debian GNU/Linux 4.0(etch)にOpenSSHをインストール - bnote

Windowsで公開鍵を作成する手順 click.jp

最後に

修正・ご指摘等ありましたらTwitter等でご教示ください! twitter.com