さくらVPSに接続するためのユーザーを新しく追加しようとしたら、いろいろ躓いたので、ここに一通りの手順をまとめておきます。
ユーザーの追加
サーバー側の作業です。接続するユーザーを追加します。ここでは仮に「tattn」という名前で進めます。追加したいユーザーの名前に読み替えて下さい。
useradd tattn
passwd tattn
sudoを使いたい場合は/etc/sudoers
を編集します。
sudo visudo
他のユーザーの設定を参考に以下を追加します。
tattn ALL=(ALL) ALL
鍵の作成
クライアント側の作業です。接続するための秘密鍵/公開鍵を作成します。
なお、接続するユーザーのホームディレクトリは「$HOME」と表記します。
cd $HOME
mkdir -p .ssh
ssh-keygen -t rsa
公開鍵の登録
公開鍵id_rsa.pub
をサーバーの/home/tattn/.ssh/
にauthorized_keys
という名前で置きます。
scpで送る場合は下を実行します。
なお、サーバーのIPアドレスは「$SERVER」と表記します
scp $HOME/.ssh/id_rsa.pub tattn@$SERVER:/home/tattn/.ssh/authorized_keys
サーバー側の作業です。権限を変更します。正しい権限でない場合
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
というエラーが出ます。
cd /home/tattn
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
また、サーバーの作業をSSHで行っている場合は、所有権が異なるユーザーになっていることがあるので、変更します。見落としがちなところです。
所有権を確認します。
ls -la /home/tattn
drwx------ 2 tattn tattn 4096 Sep 27 00:00 .ssh
ls -la /home/tattn/.ssh
drwx------ 2 tattn tattn 423 Sep 27 00:00 authorized_keys
上記のように tattn tattn が並んでいれば問題ありません。異なるユーザーになっていた場合は、下を実行します。
chown tattn:tattn .ssh
chown tattn:tattn .ssh/authorized_keys
SSHの設定
サーバー側の作業です。SSHの設定ファイルの確認or変更を行います。
sudo vi /etc/ssh/sshd_config
以下のように設定されているかを確認します。コメントアウトされていれば外します。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
また、AllowUsers
が設定されていれば、「tattn」を追加します。
AllowUsers yamada sato tattn
設定ファイルを変更した場合は、念の為にデーモンを再起動します。
sudo /etc/init.d/sshd restart
接続
以上で設定は完了したので、最後に接続できるかを確認します。
ssh -i $HOME/.ssh/id_rsa tattn@$SERVER