VPSならConoHa|登録者数12万アカウント突破 – 期間限定キャンペーン実施中 で VPS を契約する機会がありました。
実は今まで、公開鍵認証による SSH 接続は行ったことがありませんでした><。
今回、実際に行ってみましたのでその手順をノートします。
環境
- クライアント: Mac
- サーバ: VPS サービスの ConoHa、512 MB
ポイント
- 作成する公開鍵、秘密鍵は、クライアントでもサーバでもどちらでも作成しても問題ない。
- クライアントで公開鍵、秘密鍵を作るほうが楽。
ssh-copy-id
が使用できるため。
VPS での操作。VPS に SSH で接続されるユーザを作成する
# VPS にログイン ssh root@123.12.123.123 -p 22 # VPS のユーザ追加、確認 useradd oki2a24 passwd oki2a24 cat /etc/passwd # 接続元の Mac に戻る logout
参考
- Linuxシステム管理標準教科書 無料ダウンロード|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]
- 1.1.5 useraddコマンドによる一般ユーザの作成
- 1.1.6 パスワードの設定
- 1.1.7 ユーザ情報の確認
クライアント (Mac) で公開鍵および秘密鍵を作成する
使用するコマンド
# 公開鍵および秘密鍵を作成 # ファイル名、パスフレーズ、パスフレーズの確認、の順に入力する。 ssh-keygen
実際の記録
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/oki2a24/.ssh/id_rsa): conoha Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in conoha. Your public key has been saved in conoha.pub. ... 略 ... $ $ # クライアントの公開鍵・秘密鍵の設定 $ mv conoha .ssh/conoha $ mv conoha.pub .ssh/conoha.pub $ # クライアントの公開鍵・秘密鍵の確認 $ # .ssh ディレクトリは 700、 $ # 公開鍵 (conoha.pub) は 644、 $ # 秘密鍵 (conoha) は 600 となっていること。 $ ls -al .ssh/ total 24 drwx------ 5 oki2a24 staff 170 10 8 20:15 . drwxr-xr-x+ 62 oki2a24 staff 2108 10 8 20:15 .. -rw------- 1 oki2a24 staff 1766 10 8 20:07 conoha -rw-r--r-- 1 oki2a24 staff 403 10 8 20:07 conoha.pub -rw-r--r-- 1 oki2a24 staff 2018 10 8 19:38 known_hosts $
参考
- Linuxシステム管理標準教科書 無料ダウンロード|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]
- 1.4.7 公開鍵認証による接続
- 1.4.8 SSH公開鍵・秘密鍵の作成
- 1.4.9 クライアントの.sshディレクトリおよび公開鍵・秘密鍵のパーミッション
VPS サーバの SSH で接続されるユーザを指定して公開鍵を追加する
使用するコマンド
# ssh-copy-id -i 公開鍵ファイル ユーザ名@接続先 ssh-copy-id -i .ssh/conoha.pub oki2a24@123.12.123.123
実際の記録
$ ssh-copy-id -i .ssh/conoha.pub oki2a24@123.12.123.123 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/conoha.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys oki2a24@123.12.123.123's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'oki2a24@123.12.123.123'" and check to make sure that only the key(s) you wanted were added. $ $ # 公開鍵認証による接続の確認 $ ssh 'oki2a24@123.12.123.123' oki2a24@123.12.123.123's password: Last login: Sun Oct 8 19:51:16 2017 [oki2a24@123-12-123-123 ~]$ [oki2a24@123-12-123-123 ~]$ # 公開鍵情報の確認 [oki2a24@123-12-123-123 ~]$ ls -al .ssh/ total 12 drwx------ 2 oki2a24 oki2a24 4096 Oct 8 20:23 . drwx------ 5 oki2a24 oki2a24 4096 Oct 8 20:23 .. -rw------- 1 oki2a24 oki2a24 403 Oct 8 20:23 authorized_keys [oki2a24@123-12-123-123 ~]$ cat .ssh/authorized_keys ssh-rsa ...略... oki2a24@oki2a24.local [oki2a24@123-12-123-123 ~]$
参考
- Linuxシステム管理標準教科書 無料ダウンロード|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]
- 1.4.11 ssh-copy-idコマンドを使った公開鍵の設置
VPS サーバでの作業。パスワードによる SSH 接続を禁止する
cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.org sed -i -e 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config sed -i -e 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config diff -up /etc/ssh/sshd_config.org /etc/ssh/sshd_config systemctl restart sshd
参考
- Linuxシステム管理標準教科書 無料ダウンロード|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]
- 1.4.18 パスワード認証の禁止と管理者ユーザrootのログイ ンの禁止
確認
公開鍵認証を使用したログイン、ssh oki2a24@123.12.123.123 -i .ssh/conoha
を実行してログインできることを確認しました。
おわりに
最初は、公開鍵・秘密鍵はどこでつくればよいのか、混乱しました。
どこで作ってもよい、ということが実感できてから、理解が進んだように感じました。
これからは公開鍵認証を接続方法の標準として切り替えていこうと思います。
以上です。