前回、さくらVPSに最小構成で Debian stretch をインストールしました。
この最小構成の Debian stretch に ローカルのターミナルから SSH 接続できるようにします。
起動し、VNCコンソールを開く
VPSの起動
コントロールパネルの「起動」をクリックします。

「起動してよろしいですか?」とメッセージが出るので、「起動する」をクリックします。

コントロールパネルで、「稼働中」になっていれば起動しています。

「コンソール」をクリックし、「VNCコンソール」をクリックします。

VNCコンソールが起動しました。

root でのログイン
設定をするため、ますは root でログインします。

sudo のインストール・設定
root 権限をユーザでも使えるように sudo のインストール・設定をします。
apt で update、upgrade
~# apt update
~# apt upgrade

文字化けしていますが、インストールしたばかりなので最新バージョンです。
apt で sudo をインストール
~# apt install sudo

文字化けしていますが、インストールが完了しました。
sudo の設定
sudo の設定をします。
~# visudo
全権限を移譲する場合は、
ユーザ名 ALL=(ALL:ALL) ALL
を追加し、Ctrl + x
で保存します。
セキュリティを考えると、移譲するものだけを指定するほうがいいと思います。
root のログアウト
ユーザで操作するために、一度 root をログアウトします。
~# exit
login:
SSH のインストール
SSH をインストールし、まずはポートの変更をしてローカルコンソールからパスワードログインをします。
これをすることで、VNCコンソールではなく、ローカルコンソールからの操作ができるようになります。
ユーザログイン
login: ユーザ名
Password: パスワードを入力
~$
SSH インストール
~$ sudo apt install ssh

sudo の初回起動はパスワードが求められます。
そして、文字化けしていますが、インストールの確認が来ますので、「y」を入力します。
port の変更
セキュリティ的に port22 は危険なので、まずは port の変更をします。
~$ sudo /etc/ssh/sshd_config
「#port22」の前の「#」を削除し、番号を変更します。

port22222 # 例です
root ログインを許可しないようにする
ルートでログインできないようにします。

PermitRootLogin no # root でのログインを許可しない
指定ユーザしかログイン出来ないようにする
今後、別ユーザを作ることもある可能性があります。それはログイン用のユーザではない可能性もあるため、指定したユーザでしかログインできないようにします。
AllowUsers ユーザ # 指定ユーザのみのログインを許可する
ssh を再起動する
設定を反映させるため、 ssh を再起動します。
~$ sudo /etc/init.d/ssh restart
ここまでがVNCコンソールでの操作でした。
ローカルのコンソールから ssh ログイン
ここからローカルコンソールを起動して操作します。
設定した情報で ssh ログイン
~$ ssh -p 22222 ユーザ名@ドメイン名 # port22222 は例です
ログインできたら成功です。
sshの公開鍵認証(ECDSA)でのログイン設定
鍵認証でログインできるように、鍵を作ります。
今回はローカルPCで作成しました。
公開鍵(ECDSA)の作成
~$ cd .ssh
~/.ssh$ssh-keygen -t ecdsa -b 521
ファイル名の指定が来るので、そのまま「ENTER」を押します。
ファイル名を変えたいときは変更して下さい。
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/ユーザ/.ssh/id_ecdsa):
パスフレーズを2回入力します。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
秘密鍵は~/.ssh/id_ecdsa
に、
公開鍵は~/.ssh/id_ecdsa.pub
にそれぞれ生成されます。
Your identification has been saved in /home/ユーザ/.ssh/id_ecdsa.
Your public key has been saved in /home/ユーザ/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:3FFIQGi2VyXbdVsgWpsp/uMc4gXuWz5emfyqWDNaHCU ユーザ@pc
The key's randomart image is:
+---[ECDSA 521]---+
| ooooo= o.o|
| + oB * .o|
| o . .= E .. |
| …o o o |
| .S + . |
| . + o o |
| o % = |
| o %.* . |
| oo…|
+----[SHA256]-----+
~/.ssh$
公開鍵の転送
scp で転送しました。
~/.ssh$ scp -P 22222 ~/.ssh/id_ecdsa.pub ユーザ@サーバ:~/.ssh/
id_ecdsa.pub 100% 269 9.6KB/s 00:00
~/.ssh$
sshでサーバにログインし、authorized_keysに内容を書き込み、元ファイルを削除します。
~$ cd .ssh
~/.ssh$ cat id_ecdsa.pub >> authorized_keys
~/.ssh$ rm id_ecdsa.pub
パーミッションを600に変更します。
~$ chmod 600 authorized_keys
これで鍵の設定が完了です。
鍵認証ログインの設定
鍵認証できるように設定を変更します。
PermitEmptyPasswords no # 空パスワードでのアクセスを許可しない
PubkeyAuthentication yes # 公開鍵認証を使用する
鍵認証でログイン出来るか確認してみましょう。
~$ ssh -p 22222 ユーザ名@ドメイン名 (port22222は例です)
成功したらパスワード認証を出来ないようにします。
PasswordAuthentication no # パスワード認証を許可しない
以上でsshの設定は完了です。
さいごに
これでローカルのPCでサーバの操作ができるようになりました。
これから、いろいろな実験的な作業をしていこうと思います。
コメント
[…] さくらVPS の最小構成 Debian stretch に ECDSA で SSH 接続できるようにしてみた前回、さくらVPSに最小構成で Debian stretch をインストールしました。この最小構成の Debian stretch に ローカルのタ […]