GMO Cloud VPSでユーザを作成し、sshキーファイルを使ってログインできるようにします。
今回はCentOS7.4で作業を行っています。(CentOSでも6.x系の場合は一部コマンドが異なります)
事前に行っておくこと
ローカルでsshキーファイルを作成
まずはログインに使用するSSHキーファイルを作成します。すでにキーファイルを持っている場合はそれを流用することも可能です。
- Macの場合は下記のコマンドでキーファイルを作成できます。
-C
の後はコメントなので、適当な文字を入れて置けば良いです
ssh-keygen -t rsa -C gmo_cloud_vps
サーバ上で作業
作詞したSSHキーをサーバに登録するため、以下の作業をGMO Cloud VPSのサーバ上で行います。
# ユーザを作成(今回はappというユーザ名でユーザを作成)
adduser app
# 作成したsshキーファイルを登録
sudo su app -
mkdir ~/.ssh
vi ~/.ssh/authorized_keys
-> 作成したキーファイル(id_rsa.pub)の中身を追記。 ファイルが無ければ作成する。
# 権限を変更
chmod 700 ~/.ssh
chmod 400 ~/.ssh/authorized_keys
# sshdが起動していることを確認しておく
ps -ef | grep ssh
root 672 1 0 16:31 ? 00:00:00 /usr/sbin/sshd -D
...
手元のPCからログインする
以下のように作成したSSHキーを作成してログインを行います。
ssh app@11.22.33.44 -i id_rsa
うまくいかない時に確認する方法
sshコマンドでログインしようとした時にパスワードを聞かれてしまうなどログインがうまくいかない場合は、CentOS 7.Xだと下記のコマンドでsshサーバのログを確認できます。
# systemctl status sshd.service
11月 23 17:26:28 hostname sshd[3731]: Authentication refused: bad ownership or modes for file /home/app/.ssh/authorized_keys
11月 23 17:26:29 hostname sshd[3731]: Connection closed by 39.110.209.109 port 43988 [preauth]
11月 23 17:26:40 hostname sshd[3746]: Authentication refused: bad ownership or modes for directory /home/app/.ssh
11月 23 17:26:41 hostname sshd[3746]: Connection closed by 39.110.209.109 port 44781 [preauth]
上記の場合だと、キーファイルの権限設定が不正なためログインがrefuseされていることがわかります。
こちらもおススメ