注)Windows Subsystem for Linuxは、随時起動させていますから、deamonというかWindowsのサービス的な使い方は、現時点で想定されておりません。
Announcing Windows Server Insider Preview Build 16257にも下記の通り記載があります。
At this time, WSL does not support persistent Linux services (such as daemons and jobs) as background tasks.
まずsshdについて、Debian系のパッケージ名を調べる。
パッケージ: ssh (1:6.0p1-4+deb7u6) [security]の"その他の ssh 関連パッケージ"に、openssh-serverである旨、記載がありますね。
これで、パッケージ導入済みか調べてみます。
dpkg --status パッケージ名
でわかりますね。
Announcing Windows Server Insider Preview Build 16257にも下記の通り記載があります。
At this time, WSL does not support persistent Linux services (such as daemons and jobs) as background tasks.
まずsshdについて、Debian系のパッケージ名を調べる。
パッケージ: ssh (1:6.0p1-4+deb7u6) [security]の"その他の ssh 関連パッケージ"に、openssh-serverである旨、記載がありますね。
これで、パッケージ導入済みか調べてみます。
dpkg --status パッケージ名
でわかりますね。
runlevelを確認したいので、sysv-rc-confを起動してみたら入っておりません。
というわけで、パッケージ追加。
runlevel 2,3,4,5で有効化されています。
ps axを実行してみましたが、deamonは起動していない様子。
sshdを起動してみた。
あれ、ホストキーがない。。。ホストキーがなければ作成してくれる仕様だったはず。
調べたら、
Ubuntu 16.04 LTS ServerでSSHのホストキーが自動生成されない
という記事があり、
dpkg-reconfigure openssh-server
を実行すればよいらしい。
ホストキーができた。
ssh localhostしてみる。
permission denied (publickey)
が発生しております。
Teratermからは、接続エラー。
Windows Server Insider Preview機のWindows Firewallを開放。
.ssh配下、known_hostsしかないですね。
SSH using publickey not working on debian (Permission denied (publickey,password).) with clean /var/log/auth.logあたりを見てみると、
and yes - the my local ~/.ssh/id_rsa.pub is in the servers ~/.ssh/authorized_keysとなっているので、鍵のファイルがないことに起因している。今回は接続確認が目的なので、パスワード認証を有効化できれば良いと考え、
sshd_configを開いたら、パスワード認証が無効化→鍵で認証ということになります。。。上の画面通り、パスワード認証を有効化しました。
sshdを再起動。
ローカルホストから、ssh成功。
リモートホストから、ssh成功。
以上で接続確認とれました。
今回のポイントは、下記のとおりです。
- Windows Subsystem for Linuxが動作するOSにおいて、Windows Firewallを開けておく
今回の例では、Windows Firewall自体を無効化しまししたが、sshの22/TCPだけあけるのが推奨 - Windows Server Insider Preview Build 16257のWindows Subsystem for Linuxで利用しているUbuntuのsshd_configは既定で鍵認証になっている
- そのまま使うならssh鍵の用意が必要。ローカル側にid_rsa.pub、ssh先に~/.ssh/authorized_keysとして用意。
ssh鍵は、ssh-keygen - 認証用の鍵を生成 - Linuxコマンド等々を参照すれば作成できますね。 - 本稿のようにパスワード認証を有効化することも可能です。
- そのまま使うならssh鍵の用意が必要。ローカル側にid_rsa.pub、ssh先に~/.ssh/authorized_keysとして用意。
0 件のコメント:
コメントを投稿