公開鍵によるSSH接続〜異なるユーザーで直接ログインする方法

前提

頻繁に行う機会が無くて忘れがち&苦手意識があるので備忘録として残しておく。

環境

  • ローカル:Mac
  • リモート:AWS(CentOS)
    • SSH接続時のユーザー名は「centos」だが、接続後は「hchuno」に変身して作業している

やりたいこと

  • ローカルから直接「hchuno」ユーザーとしてSSH接続したい

作業手順

ローカル

公開鍵と秘密鍵の作成
$ cd ~/.ssh

$ ssh-keygen -t rsa -b 4096 -f id_rsa_hchuno
SSHログイン
  • 上記で生成した鍵は使わず、centosユーザーでのSSHログイン(これまでのログイン方法)を行う
$ ssh -i [KEY_NAME] centos@HOST_NAME

リモート

hchunoに変身
$ sudo su - hchuno
公開鍵の設定
$ vi ~/.ssh/authorized_keys

ローカルで作成した公開鍵の中身を貼り付けて保存

#公開鍵の中身をクリップボードにコピーする方法
$ cat id_rsa_hchuno.pub | pbcopy
SSH関連ファイルの権限を変更
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys
SSH設定ファイルの確認と変更
$ sudo vi /etc/ssh/sshd_config

以下のコメントアウトを外す

#RSAAuthentication   yes
#PubkeyAuthentication   yes
#AuthorizedKeysFile   .ssh/authorized_keys
デーモンをリスタート
$ sudo /etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

ローカル

新しい鍵でのSSHログイン
  • hchunoユーザーで接続できることを確認する
$ ssh -i ~/.ssh/id_rsa_hchuno hchuno@HOST_NAME