🏏

【さくらVPS】OS再インストールして、鍵認証でSSH接続する

2021/11/24に公開

環境

  • さくらVPS(Debian)
  • Mac

Debianをインストール

「OS再インストール」を選択。

「カスタムOS」> 「Debian 11」を選択したら、内容確認に進む。

あとは、このOS再インストール>Debian 9/Debian 10の手順通りに進めば、Debianのインストールは完了!

SSHをインストールする

さくらVPSのVNCコンソールで作業を進めていきます。
SSHをインストールします。

# aptitude update
# aptitude install ssh

設定ファイルのsshd_configを編集します。
まずバックアップを取ります。

# cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.org

設定を書き換えていきましょう。

# vi /etc/ssh/sshd_config

rootユーザーのログインを禁止するために「no」に変更してください。
編集方法は「x」で1文字削除、「a」で行の末尾にテキストを追加。

PermitRootLogin no

編集が終わったら「:wq」で保存してファイルを閉じます。

次に、接続できる端末を限定します。
自分のIPアドレスは、Macの「システム環境設定」>「ネットワーク」から確認できます。

# vi /etc/hosts.allow

# 自分のPCのIPアドレスを追加する
sshd : 100.100.100.100

設定が終了したらSSHを再起動します。再起動させないと設定が反映されないので気をつけてください。

# /etc/init.d/ssh restart

試しにMacのターミナルからSSHで接続してみましょう。
IPアドレスは、さくらVPSのサーバー情報の「IPv4」ってところに記載されていると思います。
さっき設定した設定が反映されていればrootユーザーでログインしようとすると拒否されると思います。

# rootユーザーではssh接続できない
❯ ssh root@000.000.000.100
root@000.000.000.100: Permission denied (publickey).

# 別のユーザーではssh接続できる
❯ ssh username@000.000.000.100
username@000.000.000.100's password: #パスワードを入力

# 抜ける場合は「exit」か「logout」
username@ik0-000-00000:~$ exit

公開鍵認証を設定する

このままだとセキュリティが甘々みたいなので、パスワード認証ではなくて、公開鍵認証を設定していきましょう。

さくらVNCコンソールで操作
まずは、パスワード認証で接続できるようにしておきましょう。これをしておかないと、後で作成する公開鍵をサーバー側へ送れないからです。

$ vi /etc/ssh/sshd_config

#パスワード認証の許可
PasswordAuthentication yes
#チャレンジレスポンス認証を許可
ChallengeResponseAuthentication yes

# 設定を反映する
$ /etc/init.d/ssh restart

もしAccess deniedとかで弾かれた場合は、sudoコマンドを使ってください。

さくらVNCコンソールで操作
.sshディレクトリを作成していきます。

# ディレクトリの作成
$ mkdir ~/.ssh

# 読込・書込・実行を許可する
$ chmod 700 ~/.ssh

Macターミナルで操作
鍵を作成します。途中で3回くらい止まるんですが、Enterを押して進んでください。

$ ssh-keygen -t rsa

ちゃんと鍵が作られているか確認します。

$ ls ~/.ssh/
id_rsa   id_rsa.pub

Macで作った「id_rsa.pub(公開鍵)」をさくらサーバーに送信します。
鍵の名前はauthorized_keysにします。

$ scp ~/.ssh/id_rsa.pub username@000.000.000.100:~/.ssh/authorized_keys

さくらVNCコンソールで操作
鍵のパーミッションを変更します。
これで公開鍵の設定は終わりです。

$ cd ~/.ssh/
$ chmod 600 authorized_keys

はじめの方に設定したパスワード認証を禁止しておきましょう。
ついでにポート番号も指定にしておきます。

$ vi /etc/ssh/sshd_config

#ポート番号を指定
Port 54321
#パスワード認証を禁止
PasswordAuthentication no
#チャレンジレスポンス認証を禁止
ChallengeResponseAuthentication no

# 設定を反映する
$ /etc/init.d/ssh restart

Macターミナルで操作
これで鍵認証でSSH接続できるようになったと思います。
お疲れ様でした。

# ポート番号を指定してログイン
$ ssh -p 54321 username@000.000.000.100

参考

Debian GNU/Linux 4.0(etch)にOpenSSHをインストール
ssh接続を鍵認証で行う
Mac OS X から Linuxサーバ へ、RSA 鍵を用いて SSH 接続する

Discussion