公開鍵認証

かぶってることもあるけど、おさらいも兼ねて
参照:OpenSSH - ご先祖様はきっと農民。

公開鍵認証を使った ssh 接続手順

  1. ペアの鍵ファイル作成
  2. サーバに公開鍵を保存
  3. sshd 設定ファイルの編集
  4. ターミナルの設定

サーバはCentOS6系、Windows7
ターミナルは teraterm, ftpクライアントはFileZilla を使用。

ペアの鍵ファイル作成

  • teraterm で設定 -> SSH鍵生成 -> 生成

f:id:riceplanting:20130602151259j:plain

  • 「公開鍵の保存」を選択して公開鍵ファイルを保存
  • 「秘密鍵の保存」を選択して秘密鍵ファイルを保存

サーバに公開鍵を保存

保存場所となるディレクトリを作成
mkdir .ssh
  • 他のユーザーにアクセス権がないように権限を変更
chmod 700 .ssh

サーバに公開鍵を保存

保存した秘密鍵ファイルを teraterm にドラッグ&ドロップでOK
f:id:riceplanting:20130602151846j:plain

  • 保存ファイル名の変更
~/.ssh/authorized_keys

公開鍵ファイルの名前は authorized_keys に変更する。
転送先ディレクトリ、ファイル名を指定して、SCPを押せば転送開始。
ドラッグ&ドロップで、転送してくれる事を初めて知りました。(:D)r2

  • 書き換え防止のために権限を変更
chmod 600 authorized_keys

sshd 設定ファイルの編集

  • /etc/ssh/sshd_config (一部抜粋)
port 1024~65536までの間のポート番号を指定
PermitRootLogin no
PasswordAuthentication no
  • ssh のポート番号22から変更しておくとよさげ。
  • root でのログインを許可しない
  • パスワード認証を許可しない

これで気持ちセキュリティアップ!

ターミナルの設定

teraterm での設定方法
  • ホスト名とポート番号を入力 -> OK

f:id:riceplanting:20130602154048j:plain

  • RSA/DSA鍵を使うを選択 -> 秘密鍵ボタンを押して保存した秘密鍵ファイルを選択
ttpmenu での自動接続設定

自動ログインで楽がしたいでござる!

f:id:riceplanting:20130602154114j:plain

登録名は適当に、ホスト名にはホスト名とポートを「:」で繋いでポート番号を
例)host: 192.168.1.6 port:12345

192.168.1.6:12345

保存した秘密鍵ファイルを選択
最後に左向き ▲ を押して設定を保存。これで次回から自動ログインできるんじゃなかろうか

おまけ(SFTP設定)

FileZilla の場合

公開鍵認証を使う的な選択肢がないじゃないかバーロー!と思って探してみたら
teraterm と違って、鍵認証ファイルは一括で管理しているらしい

  • 編集 -> 設定
  • SFTP -> 鍵ファイルを追加

f:id:riceplanting:20130602154842j:plain
teraterm で作成したファイル形式では使えないので変換しますか?的なことを聞かれるので、はいを選択
FileZilla用の秘密鍵ファイルを保存して、それを秘密鍵ファイルとして追加。

  • OK ボタンを押して設定完了

ssh, ftp の設定が理解が浅すぎて、非常に怪しい今日この頃です。
あ、上2つだけじゃなくて、どれも理解が浅すぎですねー!