SSH
さくらVPS
centos7

さくらVPSにCentOS7をインストールして、公開鍵のSSHで接続するまで

More than 1 year has passed since last update.

2017/12 現在、さくらVPSのデフォルトのCentOSのバージョンは6系となっています。
これをCentOS7に変更して、公開鍵のSSHで接続できるところまでをまとめました。

パスワードログインを塞ぐ方法ポートの変更.ssh/configの設定等は別途記事にしようと思っています。

CentOS7のインストール

カスタムOSインストールガイド - CentOS7 / ScientificLinux7 / Fedora 24

ポイントは
- ストレージの選択(「 RECLAIM DISK SPACE 」 の画面で、『 Delete ALL 』 をクリック)
- 一般ユーザーを作成する時に管理者権限をつけるにチェック(最初からsudoが使える状態になります)
- 10分〜20分かかります
- インストールが終わるとVNCコンソールが自動的に切断状態となります(さくらVPSの管理画面から起動を行ってください)

初期設定

一般ユーザーの作成

(さくらVPSではインストール時にユーザー追加→管理者に設定にチェックを行えば省略可能)

# passwd

# useradd sakura
# passwd sakura

# usermod -G wheel sakura
# visudo

SSHの設定

ここからはローカルPCで作業を行う
さくらVPSの場合、サーバー側では特に設定不要でSSHの接続を行うことが出来ました。

SSHでのログイン

ssh sakura@XXX.XXX.XXX.XXX

鍵の作成

(セキュリティのためパスフレーズは設定するようにしてください)

$ cd ~
$ mkdir .ssh
$ cd .ssh

$ ssh-keygen -t rsa

公開鍵ファイルの転送

ssh-copy-id -i /Users/<ユーザー>/.ssh/id_rsa.pub sakura@XXX.XXX.XXX.XXX

公開鍵を使用してSSH接続

ssh sakura@XXX.XXX.XXX.XXX -i /Users/<ユーザー>/.ssh/id_rsa

この時、
・公開鍵のパスフレーズ
・ログイン先のユーザーのパスワード
を順番に尋ねられるので答えてください。

補足及びトラブルシューティング

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

SSH接続で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! って言われて接続を拒否られるとき

(対象PCのOSの再インストールとかして)
ローカルPCのknown_hostsにゴミが溜まると

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

というのが発生してSSHのログインが出来なくなる

//対処法

ssh-keygen -R 153.126.173.157

# Host ik1-322-21403.vs.sakura.ne.jp found: line 6
/Users/wb773/.ssh/known_hosts updated.
Original contents retained as /Users/wb773/.ssh/known_hosts.old

鍵の強度について

お前らのSSH Keysの作り方は間違っている
この記事では、

鍵長が2048以上かつ暗号化方式がRSA、或いはECDSAやEd25519であればOK

と書かれている。

-t は指定するように書かれているが、-bを指定するよう書かれているところはほとんど無かった。
記事に強度の確認の方法が書かれていたので実行

ssh-keygen -l -f ~/.ssh/id_rsa.pub
2048 SHA256: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx XXXXXXXX@MacBook-Pro.local (RSA)

デフォルトでもキー長が2048あるのでOK