はじめに
前回、WSLを使ってLinux環境を作ってたので、ホストOSからSSH接続してみる。
本記事のゴール
ホストOS(Windows)からゲストOS(Ubuntu20.04)に
- パスワード認証方式
- 公開鍵認証方式
の2つの方法でSSH接続する。
前提条件
- WSLのインストール済み
- Ubuntuの初期セットアップ済み
環境
- Windows 10 Enterprise
- RLogin version 2.25.3
- Windows用ターミナルソフト
事前準備
RLoginのインストール
SSH接続用のターミナルソフトとして利用する。Teratermなどでも可。
1.パスワード認証方式でSSH接続する
SSH設定ファイルの変更
今回作成したUbuntu環境では、デフォルトでパスワード認証によるSSH接続が禁止されていたので、まず設定の変更を行う。(個人用なのでセキュリティは気にしない)
設定ファイルは/etc/ssh/sshd_config
にあるので、まずUbuntu側のコンソールで設定の確認を行う。
$ grep 'PasswordAuthentication ' /etc/ssh/sshd_config PasswordAuthentication no
ここでPasswordAuthenticationが no
だと、パスワード認証ができないので設定の変更を行う。
それとこの後、公開鍵認証方式も行うので、このタイミングでPubkeyAuthenticationも併せて有効化しておく。
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication no
↓
PasswordAuthentication yes
#PubkeyAuthentication yes
↓
PubkeyAuthentication yes
SSH接続するには、SSHホストキーがないと怒られるのでホスト鍵を先に生成する。
# ホスト鍵生成 $ sudo ssh-keygen -A ssh-keygen: generating new host keys: RSA DSA pECDSA ED25519
ホスト鍵を生成したらサービス起動する。
# SSHサービス起動 $ sudo service ssh start * Starting OpenBSD Secure Shell server sshd # ホスト鍵がない場合は以下が表示される # sshd: no hostkeys available -- exiting.
そうするとパスフレーズが聞かれるので、必要があればパスワードを入力します。 パスフレーズを設定しない場合は、Enter連打でOK!
Rloginの設定
- RLogin.exeを実行する。
- 【新規(N)】をクリックして、以下の内容を入力する。
- 【OK】をクリックして、設定した接続情報を選択して、再度【OK】をクリックする。
- 無事にログインできたらパスワード認証によるログインは完了!!
2.公開鍵認証方式でSSH接続する
秘密鍵・公開鍵の作成
今回はホストOS側(Windows)で鍵を作成し、ゲストOS側(Ubuntu)に鍵を転送します。
次のコマンドを実行して、鍵を作成する。
# -t : 署名アルゴリズム # -f : 作成するキー名 # -C : コメント $ ssh-keygen -t ed25519 -f wsl_ubuntu -C ""
そうするとパスフレーズが聞かれるので、必要があればパスワードを入力します。 パスフレーズを設定しない場合は、Enter連打でOK!
処理が完了すると、-fで指定したファイル名の秘密鍵と拡張子.pubが付与された公開鍵が作成されます。
ゲストOSに公開鍵を渡す
まずWinSCPやRLoginの機能を用いて、ホストOSからゲストOSのユーザディレクトリに公開鍵ファイルを転送します。
次にサーバ側で以下のコマンドを順に実行し、公開鍵の設定を行います。
# 作業ディレクトリ確認 $ pwd /home/ashitaka1963 # ディレクトリ.sshを作成 $ mkdir .ssh # ディレクトリ.sshのパーミッションを700変更(オーナーのみ読み込み、書き込み、実行が可能) $ chmod 700 .ssh # 公開鍵を.sshディレクトリのauthorized_keysというファイル名でコピーする。 $ cat wsl_ubuntu.pub >> .ssh/authorized_keys # ファイルauthorized_keysのパーミッションを600変更(オーナーのみ読み込み、書き込みのみ可能) $ chmod 600 .ssh/authorized_keys # 転送した鍵ファイルを削除する。 $ rm -f wsl_ubuntu.pub
RLoginでのSSH認証鍵による接続
RLoginを起動して、新規(N)をクリックする。
入力内容は基本的にパスワード認証方式と同じでパスワードのところだけ空白にする。
そして、画面右下の【SSH認証鍵】をクリックして、先ほど作成した秘密鍵を選択し、【OK】をクリックする。
接続すると鍵を作成した際にパスフレーズを設定していると入力を求められるので入力して、無事にログインできれば完了!!
おわりに
本記事のゴールとしていた、Ubuntu環境にホストからSSH接続することができました。
次回以降はこの環境を使って、いろいろやっていこうと思います。