【備忘録】GCPでSSHを公開鍵認証にする


GCPのVMでSSHを公開鍵認証にする方法メモ
GCPの設定の方から行う方法もありますが、あえてこちらの方法で行っています。

環境

OS: Debian10
マシンタイプ: n1-standard-1(vCPU x 1、メモリ 3.75 GB)

基本的な手順

ユーザーの追加

ユーザの追加と、権限付与

sudo adduser USERNAME
sudo gpasswd -a USERNAME sudo

鍵作成

作成ユーザーにログインし、そのユーザーで鍵を作成。

su USERNAME
ssh-keygen -t rsa

パーミッション変更

*サーバー、クライアント両方の.sshのパーミッションがchmod 700にであるか確認もしておくとよい。

cd ~/.ssh
chmod 600 id_rsa.pub
mv id_rsa.pub authorized_keys

ローカル環境

GCPで生成した、id_rsa をcatでコピーしてローカル環境下の~/.ssh以下にコピー
ファイル名はなんでも良い。
例は、ex.pemとする。

# パーミッション変更
chmod 600 ex.pem

# 接続確認
ssh -i .ssh/ex.pem USERNAME@GCP_IPADDER

エラーが出る場合の対処法

ssh -i .ssh/ex.pem USERNAME@GCP_IPADDERでエラー

クライアント、サーバーの.sshやid_rsa.pubのパーミッションは正しいか確認する。
.ssh: chmod 700
id_rsa.pub: chmod 600
ex.pem: chmod 600

そのほかは、
ssh-keygenの段階で、パスワードを設定してしまっている。
これは、ssh-keygenからやり直す。