【Xserver VPS】公開鍵を使ってSSH接続する

自分用メモです。

管理画面から秘密鍵を取得する

XserverVPSの管理画面から、秘密鍵を取得します。

ダウンロードした.pemファイルはデスクトップかどっかに置いておきます。
今回は、名前は ssh-key01.pem にしました。
もちろん何でもいいです。

公開鍵の生成

さっきの.pemファイルをUbuntuのホームディレクトリに配置します。

Teratermで通常通りSSHしてからウインドウにドラッグアンドドロップするとユーザのホームディレクトリ(cdと打ったら移動する場所)にコピーされます。
意外と知らない人が多いけどとっても便利です。
~/ とするとホームディレクトリのファイルにアクセスできるのもとっても便利ですが知らない人多いですね。。(よく使われるのは: vim ~/.bashrc とか)

配置されました。

続いてファイルの権限を修正します。
これをしないと公開鍵作ってもらえない。

Bash
# 権限修正
chmod 600 ssh-key01.pem



公開鍵を生成します。

Bash
# 公開鍵生成
ssh-keygen -y -f ssh-key01.pem



すると、↓のような表示が返ってくるはずです。(文字列は一例)

Bash
ssh-rsa AAAA...(中略)...nUbKTpZeSt3



これを丸ごと、~/.ssh/authorized_keysに書き込みます。
冒頭の「ssh-rsa」の文字もです。

Bash
vim ~/.ssh/authorized_keys

…vimの使い方はさすがに知ってるやろ。
たまにCtrl+C連打してもエディタを抜けれなくなって焦りますけどね。


アップロードした.pemファイルはいらんので消しておきます。

Bash
cd
rm -f ssh-key01.pem


SSH設定の変更

設定ファイルをいじります。

Bash
vim /etc/ssh/sshd_config


# コメントアウト解除して、yesにする
PubkeyAuthentication yes
# コメントアウト解除
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2
# パスワード認証オフ
PasswordAuthentication no



終わったらサービス再起動します。

Bash
systemctl restart sshd


動作確認

IDとパスワードでログインできないことを確認します。

え?rootのパスワードがpasswordですって?(社内開発環境なら)当たり前やんけ。
うちのシステムで管理者アカウントがroot/rootとかいう意表を突いて逆に安全そうなやつもあるんやぞ。

.pemファイルを指定したらログインできることを確認します。
このときパスワードは不要です。

以上。

おまけ:teratermの接続ショートカットを作る

ダブルクリックするだけでSSHできるショートカットを作ります。

デスクトップとかで右クリック>ショートカット作成 で、以下の文字列を入力します。

BAT (Batchfile)
"C:\Program Files (x86)\teraterm5\ttermpro.exe" サーバのIPアドレス /auth=publickey /user=ログインユーザ名 /keyfile="pemファイルを保存したところの絶対パス"

teratermの実行ファイルのパスは人によります。
/keyfile=のところも。

ショートカットファイルをダブルクリックすると楽に接続できます。