TeraTerm 4.61でSSH接続

※Linux関連記事についてはsnagplaces on @wikiにまとめていますので、そちらをご参照ください。

Teratermはputty等と並ぶ定番ターミナルソフトです。最近ではUTF-8での送受信に対応したので、昔よくサーバ側で設定されていたEUCへの文字コード変換がいらなくなりました。それでもアプリケーションやスクリプト側がEUCならしかたないですが。

CentOSのインストール直後はSSHのみ使用できる設定になっています(LinuxファイアウォールもSSHのポートのみ空いてる)。SSHの時点で暗号化通信ではあるのですが、さらにセキュリティを上げるため詳細な設定と公開鍵認証をできるようにします。

TeratermでSSH接続

  1. TeraTermを起動
  2. ホスト:サーバのIPアドレス
  3. プロトコル:「IPv4」 ※別に「UNSPEC」でもいいです
  4. セキュリティ警告:「続行」をクリック
  5. ユーザ名とパスワードを入力
  6. 「接続」をクリック

まだユーザを作成していないのでユーザ名がrootでの接続になります。

OpenSSHの設定

sshd_config設定ファイルの編集
※注釈に「コメントをはずす」とあるものはsshd_configのデフォルト値なので、別にそのままでもかまいません。

# vi /etc/ssh/sshd_config

【13行目あたり】ポートの指定。コメントをはずす
Port 22 ※できれば別のポートにしたほうがいいですが、接続先でポート制限を設けていたりすると厄介なのでそのままにしています。
【17行目あたり】接続ホストの制限。
ListenAddress 0.0.0.0
※最低限0.0.0.0は有効にしておかないと、ログに「error: Bind to port 22 on 0.0.0.0 failed: Address already in use.」というエラーが出続けてしまう。
※この辺の細かい制御はhosts.allow等で明示したほうがいいかと。
【28行目あたり】暗号強度を128ビットに
ServerKeyBits 1024
【39行目あたり】rootでのログインを許可しない
PermitRootLogin no
【43行目あたり】RSA認証を有効。コメントをはずす
RSAAuthentication yes
【44行目あたり】公開鍵認証を有効にする。コメントをはずす
PubkeyAuthentication yes
【45行目あたり】公開鍵の設置場所を指定(ユーザディレクトリの.ssh内)。コメントをはずす
AuthorizedKeysFile .ssh/authorized_keys
【59行目あたり】空パスワードを許可しない
PermitEmptyPasswords no
【60行目あたり】パスワード認証を許可しない
PasswordAuthentication no ※鍵認証が成功するまではyesにしておいたほうがいいかも。
【96行目あたり】X11(X-Window)転送を許可しない
X11Forwarding no

サービスの再起動

# service sshd restart

秘密鍵・公開鍵の作成

Teraterm上から秘密鍵と公開鍵を作成します。

  1. TeraTermを起動
  2. 「新しい接続」ウインドウは閉じる
  3. 「設定」→「SSHキー生成」
  4. キーの種類は「RSA」を選択
  5. 「生成」をクリック
  6. パスフレーズを入力(確認用と2回)
  7. 「公開鍵の保存」をクリック ※デフォルトのファイル名は「id_rsa.pub」
  8. 「秘密鍵の保存」をクリック ※デフォルトのファイル名は「id_rsa」

公開鍵をサーバへインポートする

TeraTermで生成した公開鍵(id_rsa_pub)をサーバに転送する方法はフロッピーやUSBメモリ、FTP等で転送する方法がありますが、ここではコンソール上から貼り付けて作成する方法でやります。

※あらかじめ、公開鍵(id_rsa_pub)をエディタ等で開き、中の文字列すべてをコピーしておきます。TeraTerm上ではSSHログインしたいユーザでログインしておいてください。

.sshディレクトリの作成

$ mkdir .ssh

鍵ファイルの作成

$ vi .ssh/authorized_keys
id_rsa_pubファイルからコピーした文字列を貼り付け(TeraTermでは「貼り付け<CR>」で)

鍵ファイルのアクセス権を変更

$ chmod 600 .ssh/authorized_keys

これで設定は完了です。この時点でログインするにはauthorized_keysを置いたユーザしか認証できない状態となります。

鍵認証するときはTeratermのログイン時に表示されるSSH認証画面でid_rsaファイルを指定してやればログインできるようになります。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中