SSH 接続用の鍵作成
これまでの作業で、rootユーザーと作業用ユーザーにパスワードは設定したが、これだけではセキュリティとしては不安である
そこで、SSHで外部から接続する際には、パスワードを使わず、公開鍵認証というものでログインするようにする
Windowsの人はTeraTermを起動します
接続はキャンセルボタンでキャンセルしてください
上部メニューの[設定]から[SSH鍵生成…]を実行すると、以下のようなダイアログが表示されます
生成ボタンをクリックすると鍵が生成され、鍵のパスフレーズが入力できるようになります
パスワードばかりで面倒ですが、自分のサーバーを守るためですので、念のためにパスフレーズの設定をお勧めします
[鍵のパスフレーズ]と[パスフレーズの確認]に同じパスフレーズを入力し、「公開鍵の保存」と「秘密鍵の保存」ボタンをそれぞれ押して鍵を保存します
公開鍵は id_rsa.pub、秘密鍵は id_rsa というファイル名にしておきましょう
サーバーへの公開鍵の設置
作業用に作ったユーザーのHOMEに、公開鍵を転送します
Windowsの人は、まずTeraTermで作業用ユーザーでサーバーにログインした状態にし、先ほど作成したid_rsa.pubファイルをTeraTermのウィンドウにドロップしてください
以下のようなダイアログが出ますので、SCPを選択すると、HOMEに転送されています
lsコマンドで確認すると、こんな感じでファイルができています
$ cd $ ls id_rsa.pub
では、このファイルを使って公開鍵を設置します
以下のコマンドを順に実行してください
$ cd $ mkdir .ssh $ chmod 700 .ssh $ mv id_rsa.pub .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys
ユーザーのHOMEに.sshというディレクトリを作成し、その中にauthorized_keysというファイルを作成して、そのファイルに公開鍵を記入します
ファイルは他のユーザーから読み書きできないよう、アクセス権も変更しました
これで公開鍵の準備は完了です
SSH設定ファイルの変更
次にSSHの設定ファイルを編集します
$ sudo vi /etc/ssh/sshd_config [sudo] password for hogehoge:(作業用ユーザーのログインパスワードを入力してください)
エディタが開いたら、まずはPermitRootLoginのキーワードを探します
yesの状態でコメントアウトされていますが、これは設定を書かなければrootでのログイン(PermitRootLogin)を許可する(yes)設定になるということです
従って、コメントをはずすか新たにその下に行を書き加え、「PermitRootLogin no」を記載します
#PermitRootLogin yes PermitRootLogin no
次に、PasswordAuthenticationのキーワードを探します。こちらは現在のSAKURAのVPSでは、コメントアウトされた行と、さらに1行置いたその下にコメントアウトされていない行がありますので要注意です
変更はコメントアウトされていない下側の行に対して行います
初期状態で許可状態のyesになっていますので、noに変更してください
# To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes #PermitEmptyPasswords no PasswordAuthentication yes これをnoに変える PasswordAuthentication no
次に、アクセスする際のポートも変更することで、さらにセキュリティを向上させます
Portというキーワードが一番上の説明文のすぐ下にありますので、その場所に新たに行を追加し、1024~65535のうちで任意の、でも単純ではないある程度大き目の数字を設定しましょう
#Port 22 Port XXXXX
SSHデーモンの再起動
編集・保存したら、SSHデーモンを再起動して、先ほど編集した内容を反映します
$ sudo service sshd restart [sudo] password for hogehoge: Stopping sshd: [ OK ] Starting sshd: [ OK ]
接続の確認
では、今繋がっているSSHの接続は残したまま、TeraTermの[ファイル]から[新しい接続]を実行して、先ほどの設定どおりに接続できるか確認します
繋がっているものを残しておかないと、特に万が一公開鍵の配置に失敗していたときに、リモート接続が一切できなくなることがあります
最初の接続画面では、ポートのところにはさっき指定した新しいポート番号を入力します
ここでアクセスできない場合は、先ほどのポート番号の指定がうまく行っていないかもしれませんので、元の繋がっているほうのターミナルで改めて設定内容を確認してみてください
認証画面が出たら、今回は以下の図のように、RSA/DSA/ECDSA鍵を使うにして秘密鍵を指定し、鍵に設定したパスフレーズを入力することでログインができるはずです
もし繋がらない場合、元の繋がっているほうのターミナルで改めて設定内容、特にauthroized_keysの綴りや配置周りなどを念入りに確認してみてください
上手く繋がったら、次からはこの流れでアクセスしましょう
次は さくらのVPS導入手順 6.iptablesの利用準備
はじめに戻る さくらのVPS導入手順 0.はじめに
■ AD ■ | |
---|---|