僕の使っているコマンドラインツールの #ひかえめなアドベントカレンダー2023 12月4日分はsshです。奥が深いやつだけれど、このところ身ぢかでは、目の前にXubuntuデスクトップがあって、家の中とか実家にUbuntuサーバがあってsshしてお世話するという構成になっています。昔は-Xとか-YのオプションをつけてX11のウインドウを送ってもらったりしてたんだけどね。認証エージェントの転送とかもしてません。
sshサーバでは/etc/ssh/sshd_configを編集してパスワード認証を禁止します(禁止する前にssh公開鍵を登録しておかないとリモートからログインできなくなります)
PasswordAuthentication no
最近のUbuntuだと/etc/ssh/sshd_config.d/50-cloud-init.confで
#PasswordAuthentication yes
とする必要もあるようです。設定を反映するためsudo systemctl reload sshします。
僕はssh元のそれぞれのホームディレクトリでそれぞれの鍵対を管理していて、私有鍵のコピーは作らないようにしています。2カ所以上のssh元からssh先の~/.ssh/authorized_keysに公開鍵を登録しておくことで、私有鍵が失われた場合でも他のssh元からsshできます。
外出しているときにもsshできるようにインターネットからsshできるようにしてあるサーバもあります。sshサーバには固定のプライベートIPアドレスをわりあてて、ルータでポートを転送するようにしています。ssh元のグローバルIPアドレスの範囲は、/etc/hosts.denyに
ALL: ALL
を追加してデフォルトを接続禁止にし、/etc/hosts.allowに許可するログイン元のIPアドレスを追記します。ファイルを書いた次のssh接続から有効になります。
sshd: 192.0.2.0/24
そのうちIPv6対応のためにいろいろと勉強しなくちゃな…。今はルータで全部拒否するようになっています。