ひこたろうのシンプルライフ

ひこたろうのブログです。 毎日、コツコツ勉強しているときに気づいたことを適当に書いています。

さくらVPSにMacでSSH接続する初期設定

1. MacBookSSH 接続用のRSA鍵を作成します
SSHで接続する際にパスワードを使用するよりもRSA公開鍵認証を使用した方が安全です。
SSHでパスワードのログインを禁止し、RSA公開鍵認証のログインのみを許可します。
最初にMacで使用するRSA鍵を作成します。
ターミナルからssh-keygenコマンドを実行し、RSA鍵が作成します。

macbook:~ hogehoge$ ssh-keygen [Enter]
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): [Enter]
Enter passphrase (empty for no passphrase): [好きなパスワードを入力]
Enter same passphrase again: [好きなパスワードを再入力]
Your identification has been saved in /Users/hogehoge/.ssh/id_rsa.
Your public key has been saved in /Users/hogehoge/.ssh/id_rsa.pub.

2. サーバーに使用するユーザーを追加します
サーバーで使用するユーザーを追加します。
VPSコントロールパネルを使用し、サーバーにログインします。
コントロールパネルからuseraddコマンドを実行し、ユーザーを追加します。

[root@xxx ~]# useradd hogehoge[Enter]
[root@xxx ~]# passwd hogehoge[Enter]
Changing password for user hogehoge.
New UNIX password:[新しいパスワードを入力]
Retype new UNIX password:[新しいパスワードを再入力]
passwd: all authentication tokens updated successfully.
[root@xxx ~]#usermod -G wheel hoeghoge //root 制限用に wheel に所属させます

3. 作成したRSA鍵をサーバーにコピーします
Macからサーバーに作成したRSA鍵をコピーします。
コピーはSCPコマンドを使用します。
/Users/ユーザー名/.sshにあるid_rsa.pubをサーバーへコピーします。
sakuraはVPS契約時に送付されたサーバーのIP、またはドメインに置き換えてください。

macbook:~ hogehoge$ cd .ssh
macbook:.ssh hogehoge$ scp id_rsa.pub hogehoge@sakura:~

コピーが終わったら、先ほど追加しユーザーでサーバーにログインし設定を変更します。

# .sshディレクトリを作ります
mkdir .ssh
# 今作ったディレクトリのPermissionを変更します
chmod 700 .ssh
# RSA鍵ファイルを.sshに移動します
mv id_rsa.pub .ssh/
cd .ssh/
# authorized_keysファイルを作成します
touch authorized_keys
# カギの中身をauthorized_keysに追加します
cat id_rsa.pub >> authorized_keys
# Permissionを自分だけが読めるように変更します
chmod 600 authorized_keys

4. Macから接続を確認します
Macからターミナルで接続します。
sakuraにはサーバーのIPとかドメインに置き換えてください。
RSA鍵を作成した時のパスワード(パスフレーズ)の入力を求められます。

macbook:~ hoge$ ssh hogehoge@sakura //RSA鍵を作成した時のパスワード入力を促される
Identity added: ~/.ssh/id_dsa (~/.ssh/id_dsa)
Last login: Fri Apr  1 00:00:00 from hogehoge.hoge.hoge.ne.jp

SAKURA Internet [Virtual Private Server SERVICE]

[hogehoge@xxx root]$ exit
logout

Connection to hogehoge.hoge.hoge.ne.jp closed.

macbook:~ hoge$ ssh hogehoge@sakura //そのまま VPS サーバ内へ移動するはず
Last login: Fri Apr  1 00:00:00 from hogehoge.hoge.hoge.ne.jp

SAKURA Internet [Virtual Private Server SERVICE]

[hogehoge@xxx ~]$

5. サーバーのSSH設定を変更します。
サーバーにログインし、rootになったらsshd_configを編集して、ルートのログイン禁止等の設定を行い、sshdを再起動する。viの使い方はここでは省略。

[root@xxx ~]# vi /etc/ssh/sshd_config

PermitRootLogin no //コメントアウトを外し no にする
PubkeyAuthentication yes //コメントアウトを外す
AuthorizedKeysFile     .ssh/authorized_keys //コメントアウトを外す
PasswordAuthentication no //コメントアウトを外し no にする
UsePAM no //コメントアウトを外す
#UsePAM yes //コメントアウトする

[root@xxx ~]# /etc/init.d/sshd restart

あとはMacの場合、/Users/(ユーザ名)/.ssh/configにSSHのログイン情報を設定しておくと便利です。

Host sakura
HostName xxx.xxx.xxx.xxx
User hogehoge
Port xxxx
IdentityFile ~/.ssh/sakura/id_rsa