ちょっとした作業ならGCPコンソールのComputeEngine(以下、CE)一覧画面に表示されるssh接続で事足りるが、外部ユーザーにもアクセスしてもらう際にOSログイン等の設定ではなく一般的なssh接続でアクセスしてもらうよう環境を調整した。
手順
概要としては下記の設定手順になる。
- Mac端末上で公開鍵と秘密鍵を作成
- 公開鍵をCEに登録する
- 秘密鍵を使用してMacの端末からssh接続
以下は実行コマンド
# 認証鍵を作成(-C [USERNAME]を付けるとGCP側で自動でユーザーを追加してくれる)
# パスフレーズ入力を省略すると、ssh接続の時にパスフレーズを聞かれなくなる。
$ ssh-keygen -t rsa -f ~/.ssh/my-ssh-key -C devuser
# 権限を設定
$ chmod 400 ~/.ssh/my-ssh-key
# 公開鍵をコピー
$ cat ~/.ssh/my-ssh-key.pub | pbcopy
公開鍵の内容をGCPコンソールで表示されるCEインスタンス編集画面内の「SSH 認証鍵」に貼り付けて設定を追加する。
これでサーバ側の設定は完了。
鍵が登録されるとsshアクセスが可能になる。
# ログイン
$ ssh devuser@[IPアドレス] -i ~/.ssh/my-ssh-key
# ログイン完了
devuser@instance-1:~$