ユーザーIDとUbuntu ServerのIPアドレスを叩く、するとパスワードを聞いてくるので、それを入力する。毎回パスワードを入力するのが面倒なので公開鍵認証機能を使ってパスワードを省略
ssh-keygen -t ed25519
「ed25519」は、SSHの鍵を作成する際に使用する暗号アルゴリズム(数学的な仕組み)の名前
上記を打ち込むと以下の問い合わせがあるので順次解答する
Enter file in which to save... → そのまま Enter
Enter passphrase... → 空のまま Enter(2回)
これで Windows 側に「鍵」が完成。
以下のコマンドで、サーバーに鍵を送り込む
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "cat >> .ssh/authorized_keys"
type ...: Windowsで作った公開鍵(ハンコ)の中身を読み取る。
|: その中身を SSH 越しに Ubuntu へ渡す。
cat >> ...: Ubuntu側の「許可リスト(authorized_keys)」というファイルの末尾に、そのハンコを追記する。
これで、パスワードは省略されるので、『ssh [email protected]』のバッチファイルを作成。
しかしSSH接続は一定時間操作がないと、サーバーやPC側が使っていないと判断して接続を切断してしまいまうので、作業が途中だと何処まで行ったかわからなくなってしまう。
ssh -o ServerAliveInterval=60 [email protected]
接続を維持するための設定方法、SSH接続を維持するには、サーバー側(Ubuntu)ではなく、操作している側のPC(クライアント)で「定期的に『生きてるよ!』という信号を送る」設定をする。
Windows(Tera TermやPuTTYなど)の場合設定メニューの中に「セッションを維持する」や「Keep-alive」という項目がある。
設定値の目安: 60秒(1分に1回信号を送る)
但し、PCをスリープさせた時はネットワークが切れるのでSSHも終了してしまう、tmux をインストールしておくと、万が一接続が切れても、サーバーの中では AdGuard の設定やログの監視がそのまま継続されるので、最強の組み合わせになるが、不要かな。