星と猫の数学

私を退屈から救いに来た、夢のヒーロー

Ubuntu Server 12.10 インストールと設定 (3)

SSH接続設定 for Windows (2)

端末エミュレータの導入

SSHで接続するために私は「PuTTY」というソフトを使っています。本家本元のPuTTYよりは下記の「ごった煮版」が日本ではよく使われているようです。

下記のサイトからダウンロードできるPuTTYは機能を増やした修正版です。私はこちらを使用しています*1

インストール方法は上記サイトで各自確認してください。動作させるだけなら特に難しい事は無いはず。

公開鍵暗号方式認証の鍵生成

  1. 「PuTTYgen(puttygen.exe)」を起動する
  2. 「生成する鍵の種類」で「SSH2-RSA」を選択し、「生成」ボタンを押す
  3. 空白部分の上でマウスを適当に動かす*2
  4. パスフレーズ(パスワード)を入力する
    • ここで入力するパスワードはサーバのログインパスワードとは異なるため、同じパスワードでも違うパスワードでも可
  5. 「秘密鍵の保存」を押して名前を入力し秘密鍵ファイルを保存する
    • ファイル名の指定は無いのでわかりやすい名前と場所に保存
  6. 「OpenSSHのauthorized_keyファイルにペーストするための公開鍵」に記載されている文字列をコピーする
    • 後でサーバにファイルを作成して書き込むため

公開鍵の保存とSSH設定

  1. PuTTYを起動する
  2. 「ホスト名」にサーバのIPアドレス、「ポート」に前回設定したSSHのポート番号を入力して「開く」ボタンを押す
  3. ユーザ名とパスワードを入力する
  4. 以下のコマンドを入力してフォルダとファイルを作成する
    • 既に「.ssh」フォルダがある場合は不要
mkdir .ssh -m 700
touch .ssh/authorized_keys
  1. 以下のコマンドを入力してnanoを開く
sudo nano .ssh/authorized_keys
  1. 先程コピーした文字列を貼り付け*3てファイルを保存し、nanoを終了する
  2. 以下のコマンドを入力してファイルの書き込み権限を変更する
sudo chmod 600 .ssh/authorized_keys
  1. 以下のコマンドを入力してSSH接続設定ファイルを開く
sudo nano /etc/ssh/sshd_config
  1. 以下の様に設定を変更する
    • それぞれ「管理者権限でのログイン許可」「パスワード認証許可」の設定
PermitRootLogin no
PasswordAuthentication no

SSH接続

  1. 一度ログアウトし、再度PuTTYを起動する
  2. 先程と同様にサーバのIPアドレスとポート番号を入力後、右側のメニューから「接続」→「SSH」→「認証」を選択し、「認証のためのプライベートキーファイル」に先程保存した秘密鍵ファイルを指定して「開く」を押す
  3. ユーザ名と鍵生成時に指定したパスワードを入力してログインできる事を確認する
    • この時、「Authenticating with public key "XXXXXXXXXXX"」と表示されているはず。出ていなかったらどこかで設定を失敗しているので修正する

設定完了

これでSSH接続する時は公開鍵暗号認証でしかログインできないように設定できました。サーバの最低限の設定はこれで完了です。後はファイルサーバにするなりWebサーバにするなりどうぞ。

最後に注意

ufwの設定でSSH以外のネットワーク接続が不可になっているため、ufwの設定を変更しないと他のサーバとして動かす事が出来ません。適宜調べて変更してください

*1:ウィンドウの半透明化とかロマンを感じません?

*2:乱数によって生成している

*3:一見すると鍵を平文で送っていて危険に見えますが、そもそも貼り付けているのは公開鍵なので問題ありません