【さくらVPS】OS再インストールして、鍵認証でSSH接続する
環境
- さくら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