環境はUbuntu 24.04 LTS Minimalです
要約
/usr/lib/systemd/system/ssh.service の以下を変更しないと /etc/ssh/sshd_config の設定が正しくよみこまれない
#EnvironmentFile=-/etc/default/ssh
ExecStart=/usr/sbin/sshd -D
sudo systemctl daemon-reload
sudo systemctl restart ssh
sudo systemctl status ssh
でログを確認してください
その他
/etc/ssh/sshd_config の設定例
Port ${YOUR_PORT}
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
ファイヤーウォールの設定
ソースフィルターは0.0.0.0/0を指定
優先度は65534などにしておく(65535にすると適切に動かない)
TCPの${YOUR_PORT}を指定する
VM内のファイヤーウォールはどうやらないようです(iptables, nft, ufw, firewalldが動いていないことを確認しました)
チェック
以下で試せます
ssh your_name@vm_ip -p your_port -i ~/.ssh/id_your_key
うまくいったら ~/.ssh/config に以下のように設定しましょう
Host gcp
Hostname vm_ip
User your_name
Port your_port
IdentityFile .ssh/id_your_key
おまけ
VM作成の際に
セキュリティ > 手動で生成した SSH 認証鍵の追加
で公開鍵の追加ができますがGoogleカウントのユーザー名と自分のPCのアカウント名が異なっている場合、ただしく認証できません
なので鍵を追加する際にユーザー名を合わせるように修正しましょう
GCP Consoleからのアクセス
VMインスタンスのページに飛んで
ブラウザウィンドウでカスタムポートを開く
をクリックしてください