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

vi /etc/ssh/sshd_config

# 下記追加 or 変更
PubkeyAuthentication yes

再起動

$ systemctl restart sshd

authorized_keys

  • 公開鍵が複数存在する場合は、.ssh/id_rsa.pub をコピペした次の行で次の .ssh/id_rsa.pub をコピペする
$ vi .ssh/authorized_keys
# コピーした .ssh/id_rsa.pub をここにコピペする
  • 権限変更
$ chmod 600 authorized_keys

ログインしてみる

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