公開鍵認証を使ってサーバーに接続する手順


はじめに

CentOS7の前提で話を進めます。「ConoHa VPS」を使用してますが、「さくらのクラウド」でも「Amazon EC2」でも何でも応用できるかと思います。SSHクライアントは「RLogin」を使用していますが、鍵作成も含め
「Tera Term」でも同じようなことが出来ます。その参考になれば幸い です。

※サーバーが準備済みの場合 公開鍵認証で接続 からどうぞ

前提準備

ConoHa VPSに登録しサーバーを作成

2018.8現在:

・一番安いプランで大丈夫です。630円/月 1.0円/時 (税別) 安い...
サーバー作成時のrootパスワードは絶対にメモ してください。
・サーバーを作成後、起動/停止に関わらず料金 がかかるそうです。(削除すれば掛からない)

SSHクライアントの準備

・RLoginをインストールをしておいてください。

公開鍵認証を使ってサーバーに接続する手順

ConoHaでサーバーのIPアドレスを確認

①事前に作成したアカウントで ログイン する
②画面左のサーバータブをクリックする
③ネームタグをクリックし、作成したサーバーのIPアドレスをメモする

公開鍵認証で接続

①RSA暗号の秘密鍵と公開鍵を作成

[ServerSelect]→サーバを選択→[編集(E)]→[プロトコル]→[認証キー(K)]→[作成]→パスフレーズ入力→[OK]

※秘密鍵バックアップは取ること
※それでもなくした場合はVNCコンソールで対処可能

こちらを参考:さくらのナレッジ

②Rloginを立ち上げrootユーザでサーバーに接続

③ユーザ作成しパスワードを設定

# useradd yourname
# passwd yourname
New password: 8文字以上で良い感じのパスワードを入力し[Enter]を押下
Retype new password: パスワードを再度入力し[Enter]を押下
passwd: all authentication tokens updated successfully.

※yourname部分を好きなユーザー名に変換して考えてください。

④公開鍵保存用の.sshデイレクトリを作成

# su - yourname
$ mkdir ~/.ssh

⑤作成した.sshディレクトリのパーミッションを変更(775→755)

$ chmod 755 .ssh
$ ls -la

⑥クリップボードにコピーした公開鍵をauthorized_keysに登録

$ cd ~/.ssh
$ vi authorized_keys

⑦authorized_keysのパーミッションを変更(664→600)

$ chmod 600 authorized_keys

⑧セキュリティ面で設定

$ exit
# vi /etc/ssh/sshd_config
# パスワード認証の禁止(yes→no)
# To disable tunneled clear text passwords, change to no here!
PasswordAutheentication no

※より安全 にしたい場合は下記のような設定もする

# rootログインの禁止
PermitRootLogin no

# ログインユーザーの制限
AllowUsers yourname

参考:sshd_configの設定項目の理解を目指す

⑨sshdのリスタート

# systemctl restart sshd

⑩作成したユーザでサーバーに再度接続

SSH Identity Keyの[参照(K)]よりローカルにある秘密鍵(id_rsa)を選んでください。

※rootユーザーではないです!作成したユーザーで接続してください!
※鍵が読み込みませんでしたと出る時は、再度接続しなおしたら直りました。