【シアたんとミョウガのサーバー乗り換え大作戦! Vol. 3】ターミナルソフトからリモートログインしてみよう

Xiia-CN-SDF-A2

皆さん、こんにちはー!シアです☆

今回はターミナルソフトを使ってVPSにSSH接続し、SSH接続の設定やファイアウォールの設定をしていきます。

 

ちょっと長めですが、頑張っていきましょう、ミョウガさん!
おーっ!

 

1. SSH接続するための秘密鍵をダウンロードしよう

まずは、ConoHaのコントロールパネルのVPSのコンソールページを開いて、コンソールの上にあるVPSの情報(でいいのかな?)から、SSH Private Keyにあるダウンロードボタンをクリックし、SSH接続用の秘密鍵をダウンロードします。

sv17

 

2. ターミナルソフトでVPSにリモートログインしよう

本ブログでは「Tera Term」を使用していきます。本記事ではインストール方法は割愛します。
Tera Termを起動します。

新しい接続のダイアログが現れたら、ホストにはVPSのIPアドレス(IPv4)を入力し、サービスは「SSH」を選択して、ポートは22(SSH接続のポート番号です)を入力し、OKボタンをクリックします。

sv13

あら、セキュリティの警告のダイアログが出てきましたよっ。

sv14

Tera Termは今まで接続したことのないサーバー接続しようとした時に、このダイアログが現れます。

そのまま続行ボタンをクリックしてもよいですが、心配であればVPSのRSA公開鍵(ssh_host_rsa_key.pub)の鍵指数を確認してみましょう。

RSA公開鍵の鍵指数を確認する時は、「ssh-keygen」コマンドを使用します。

表示された文字列の中の「6e:22:83:db:4a:b1:1b:2e:12:c7:d4:7b:9b:ad:70:53」が鍵指数です。その指数とセキュリティ警告のダイアログにある鍵指数と同じであるか確認します。

っと、接続しようとしているサーバーはわたし達が使っているVPSだね。よし、続行ですっ!
SSH認証のダイアログでは、ユーザ名に「root」と入力します。今回はパスワードの代わりにRSA鍵を使用しますので、ラジオボタンから「RSA/DSA/ECDSA鍵を使う」を選択し、先ほどダウンロードしたSSH接続用の秘密鍵のファイルパスを入力します。

sv16

正しくログインすると、以下のような画面になります。タイトルバーには「ホスト名:ポート番号 – root@ホスト名」と表示されます。

sv18

 

3. 一般ユーザー用のRSA鍵を作成しよう

次に、前回作成したユーザーでログインするためのRSA鍵を作成してみましょう。

ConoHaのコントロールパネルのコンソール側で、前回作成したユーザーでログインし、「ssh-keygen」コマンドを入力します。

すると、RSA鍵の保存場所を聞かれますので、ファイルパスを入力します。何も入力しない場合、ファイルパスは「/[ユーザー名]/.ssh/id_rsa」となります。ここでは「xiia_rsa」とします。

次に、RSA鍵のパスフレーズを2回入力します。パスフレーズは省略できます。

これで、RSA鍵を作成することができました。

あとはRSA公開鍵を、「mv」コマンドで「autherized_keys」にリネームし、「chmod」コマンドでパーミッションを600に設定します。

 

3.1. 作成した鍵をローカルPCにダウンロードしよう

ではTera Termに戻って、先ほど作成したSSH接続用の秘密鍵をSCP経由でローカルPCにダウンロードしましょう。

メニューバーから「ファイル」→「SSH SCP」を選択します。

sv20

Secure File Copyの画面が現れたら、下側のFromにRSA鍵のファイルパスを、ToにローカルPCでの保存先を入力し、Recieveボタンをクリックします。

sv21

これで、SSH接続用の秘密鍵をローカルPCにダウンロードできました。

 

4. 作成した秘密鍵でリモートログインしよう

4.1. その前に、RSA鍵でログインできるようにしよう

早速、ダウンロードした秘密鍵を使ってログインですねっ!

ちょっと待って、ミョウガさん!

その秘密鍵でログインする前に、SSH接続の設定ファイル「sshd_config」を編集する必要があります。

※本ブログでは管理者権限が必要なコマンドには、$の後に「(sudo)」を付けて表記しています。

sshd_configの中にある「RSAAuthentication」、「PubkeyAuthentication」、「AuthorizedKeysFile」の3つのコメントアウトを解除します。

また、RSAAuthenticationとPubkeyAuthenticationの値は「yes」を、AuthorizedKeysFileの値は「.ssh/authorize_keys」を指定します。

編集したら、sshd_configを保存してviを閉じます。

sshd_configの内容に問題がないかをチェックする時は「sshd -t」と入力します。問題がなければ何も表示されません。

sshd_configの変更を反映させるには、sshdを再起動します。
これで先ほどダウンロードした秘密鍵でログインできますよ☆

 

4.2. VPSにリモートログインしよう

sshdを再起動したら、今回作成した秘密鍵でリモートログインしてみましょう。

メニューバーから「ファイル」→「新しい接続」を選択します。

sv22

新しい接続のダイアログが現れたら、2.と同じ内容を入力してOKボタンをクリックします。

SSH認証では、ユーザ名に前回作成したユーザー名を入力します。ラジオボタンから「RSA/DSA/ECDSA鍵を使う」を選択し、3.1.でダウンロードしたSSH接続用の秘密鍵のファイルパスを入力し、OKボタンをクリックします。

sv23

やった~、前回作ったユーザー名でログインできましたっ!

sv24

 

5. SSHの設定ファイルを編集しよう

今度は、sshd_configをいくつか編集していきます。

 

5.1. SSH接続のポート番号を22番以外にしよう

まず、SSH接続のポート番号を22番以外に変更します。「Port」のコメントアウトを解除して、値にSSH接続のポート番号を指定します。ここでは10022を指定しています。

デフォルトの22番のままだと、何か問題があるのです?

22番ポートはSSH接続用として一般的に広く知られていますので、総当たり攻撃などを受けやすいという問題があります。WordPressのユーザー名で例えるなら、adminですね。

 

5.2. SSH接続でのrootログインを禁止しよう

次に、SSH接続でrootログインできないように設定します。「PermitRootLogin」のコメントアウトを解除して、値を「no」と指定します。

 

5.3. パスワードでのログインを禁止しよう

RSA鍵でSSH接続ができるのであれば、パスワードでのログインを無効にしてしまいましょう。

PasswordAuthentication」の値を「no」にすることで、パスワード認証でSSH接続できなくなります。

 

6. ファイアウォールの設定をして、SSH接続用のポートを開けよう

では早速、変更後のポート番号で接続しますよっ!

sv25

あれれ~、接続できないぞ~?

sv26

これは、ファイアウォールの設定によって、先ほど設定したポート番号での通信が許可されていないからです。

iptables」を編集して、ファイアウォールの設定をしましょう。

 

はわわ、何かの呪文みたいで、頭がこんがらがってきました・・・(汗)

えっと、10行目にある「–dport 22 -j ACCEPT」の行は、22番ポートでの接続を許可するという意味でいいのかな?

はい、「-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT」で、SSH接続に使用していた22番ポートを開放しています。そのポート番号を5.1.で設定した番号に変更することで、そのポート番号でSSH接続することができます。

あとは、開放する分だけ「-A INPUT -m state –state NEW -m tcp -p tcp –dport [ポート番号] -j ACCEPT」を追加し、開放するポート番号を指定します。

WordPressを使用する時は、HTTP用の80番ポートとMySQL用の3306番ポートを開放します。

iptablesを編集したら、iptablesを再起動します。

再起動したら、「iptables -L」コマンドを実行し、設定内容を確認します。

 

これで、10022番ポートでSSH接続ができますよ。
Wow、接続できました♪

sv27

 

7. おわりに

今回は、Tera TermでVPSにSSH接続し、一般ユーザー用のRSA鍵の生成やSSH接続のポート番号の設定、ファイアウォールの設定によるポートの開放をしました。

次回はいよいよ、WordPressに必要なPHPとデータベースのインストールをしていこうと思います。

それでは、See you~☆

 

参考サイト

 

シアたんとミョウガのサーバー乗り換え大作戦!の記事一覧

strory-1s

  1. VPSを作成してみよう
  2. VPSを起動してみよう
  3. ターミナルソフトからリモートログインしてみよう
  4. PHPとデータベースを導入してみよう
  5. WordPressをVPSにアップロードしてみよう

 

この記事をシェアする
Chronoir.netのRSSフィードを購読する

About : シアたん(Xiia)

こんにちはー!時黒(トキクロ)博士によって開発された超高性能アンドロイド「Xiia(シア・クロノワール)」です。Chronoir.net の新マスコットキャラとして頑張っていきますので、よろしくお願いします!☆

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*