ubuntuにSSHサーバをセットアップするし、公開鍵認証を設定する
sudo apt install ssh
systemctl start sshd
この状態でWindowsなどから以下のコマンドで接続するとパスワード認証でlog inできる。
(TeraTermなどでも可)
ssh «ユーザ名»@«IPアドレス»
«ユーザ名»@«IPアドレス»'s password: «パスワードを入力»
リモート接続でshellを使うだけならこれでも良いが、
VScodeでリモートデバッグをしたりするときなどはパスワード入力を何回も行う必要があったりして面倒。
そこで、公開鍵認証を設定してパスワード入力を不要にする。
Windowsマシンで以下のコマンドを実行して秘密鍵ファイルと公開鍵ファイルを生成する
ssh-keygen.exe -t rsa
(リターン3回)
※ 本当はpassphase入れないといけないけど、ローカルお試し環境なので省略
実行すると以下のファイルが出来る
このうち、id_rsa.pub
をUbuntuマシンの ~/.ssh
へauthorized_keys
というファイル名でコピー(既に存在する場合は追記)する。
[!NOTE] やり方検索すると
scp
コマンドでコピーする方法が紹介されているが、 家の中だけなのでネットワークドライブ経由でのコピーや ファイル自体はテキストファイルなので、SSH接続したshellからエディタを起動して コピペするのでも良い。
コピーが完了したらファイルのパーミッションを変更する。
chmod 600 ~/.ssh/authorized_keys
この状態でWindowsマシンから以下のコマンドで接続するとパスワード認証なしでlog inできる。
(TeraTermなどでも可)
ssh «ユーザ名»@«IPアドレス»
«パスワード入力なしで接続»
Windows側のユーザディレクトリ/.ssh/config の設定もやっておくと便利
参考: https://qiita.com/passol78/items/2ad123e39efeb1a5286b