さくらVPS の最小構成 Debian stretch に ECDSA で SSH 接続できるようにしてみた

PC
スポンサーリンク

前回、さくらVPSに最小構成で Debian stretch をインストールしました。

この最小構成の Debian stretch に ローカルのターミナルから SSH 接続できるようにします。

スポンサーリンク

起動し、VNCコンソールを開く

VPSの起動

コントロールパネルの「起動」をクリックします。

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

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

「稼働中」

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

「VNCコンソール」を起動

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

「VNCコンソール」

root でのログイン

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

「rootログイン完了」

sudo のインストール・設定

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

apt で update、upgrade

~# apt update
~# apt upgrade

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

apt で sudo をインストール

~# apt install 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
「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でサーバの操作ができるようになりました。

これから、いろいろな実験的な作業をしていこうと思います。

コメント

  1. […] さくらVPS の最小構成 Debian stretch に ECDSA で SSH 接続できるようにしてみた前回、さくらVPSに最小構成で Debian stretch をインストールしました。この最小構成の Debian stretch に ローカルのタ […]