Linux にてパスワードなしで SSH する

ssh する側 (PC や借りてるサーバーでもやることは一緒)

  • .ssh/id_rsa, .ssh/id_rsa.pub が既にあればスルー
$ ssh-keygen -t rsa
Enter 押していくと鍵と公開鍵ができる

.ssh/config

  • 下記追加
Host name # 適当
  Hostname 192.168.0.1 # ログインしたい IP アドレスや URL
  Port 22 # ssh のポート番号
  User username # ログインしたいユーザー名
  IdentityFile ~/.ssh/id_rsa
  • 権限変更
$ chmod 600 ~/.ssh/config

中身をコピー

$ cat ~/.ssh/id_rsa.pub

ssh される側

/etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

# 下記追加 or 変更
PubkeyAuthentication yes

再起動

$ sudo systemctl restart sshd.service

authorized_keys

  • 公開鍵が複数存在する場合は、.ssh/id_rsa.pub をコピペした次の行で次の .ssh/id_rsa.pub をコピペする
$ vi .ssh/authorized_keys

# .ssh/id_rsa.pub をここにコピペする
#
ssh-rsa AAAt+XEla6a3NzaC1ycAAVORFAINOEINDAOEIRNFAOejhaA
EOABNAWOEINAoaaVR8rWcjkNPwW7+2ytrSX2S3efaurhaiua-erakUg
VNi1BSxpAmOyWzAt+XEla6a3NzaC1ycAAVORFAINOEINDAOEIRNFAOe
jhaAEOABNAWOEINAoaaVR8rWcjkNPwW7+2ytrSX2S3efaurhaiua-er
akUgVNi1BSxpAmOyWzAt+XEla6a3NzaC1ycAAVORFAINOEINDAOEIRN
FAOejhaAEOABNAWOEINAoaaVR8rWcjkNPwW7+2ytrSX2S3efaurhaiu
a-erakUgVNi1BSxpAmOyWzFI1Xz sample@sample.vps.com
  • 権限変更
$ chmod 600 .ssh/authorized_keys

ログインしてみる

$ ssh name # .ssh/config で設定した Host の値
# 下記聞かれたら yes と入力して Enter
Are you sure you want to continue connecting (yes/no)?

関連記事