Saturday, May 22, 2010

玄箱:SSHサーバとWindowsクライアントの設定

SSHサーバの設定



まずインストールする。
#aptitude install ssh

設定ファイル
/etc/ssh/sshd_config

今回設定した箇所
  • ListenAddress  0.0.0.0 ←コメントアウト。
  • PermitRootLogin no ←ルートのログインの許可:拒否
  • AuthorizedKeysFile %h/.ssh/authorized_keys ←コメントアウト。公開鍵置き場
  • PasswordAuthentication no ←UNIXパスワードで接続:しない
  • AllowUsers ユーザー1 ユーザー2 ←ログインできるユーザーを限定。


設定についての詳細はpenguin's campus noteがわかりやすい。

サーバは以上。

SSHクライアント


WindowsXPで、WinSCPとPoderosaの2つを使う。
(Cygwinは最近起動エラーばかりで使えないので使わない方向性。)

今までファイル転送のみの用途でWinSCPを使ってきたが、
初めてコマンドラインモードを使ってみたら落ちてしまって不安になったので
Poderosaも使ってみることにします。

公開鍵、秘密鍵(OpenSSH形式)のペアをサーバ(玄箱)のssh-keygenで
作ったら、OpenSSH形式が読めるはずのPoderosaでエラーが出てなぜか
使えなかった。
そこで、Poderosaで鍵を作成してサーバに渡す方法を取ります。

クライアントの設定(Poderosa)


http://ja.poderosa.org/index.html

1)最初に鍵を準備をする。
鍵を作成。2048ビット、DSA。秘密鍵、公開鍵ともに保存。
名前は、なんでもいいです。
  • 秘密鍵:poderosa_dsa
  • 公開鍵:poderosa_dsa.pub

2)公開鍵を玄箱の~/.ssh以下にパーミッション600で保存。このパーミッションは重要。
#chmod 600 poderosa_dsa.pub

3)公開鍵の名前を変更。
#cp poderosa_dsa.pub authorized_keys

authorized_keysは、サーバに設定した名前なのでこれで確定。

次にPoderosaの設定。
設定は、ファイル→新規接続から新規telnet/SSH接続で行う。
  • 認証方法:「公開鍵」。
  • 鍵ファイル:さっき作った秘密鍵、poderosa_dsaの場所。
これでつながる。


クライアントの設定(WinSCP)



WinSCPはOpenSSH形式の鍵が読めないので、puttykeygenで読める形に変換する。

puttykeygen.exe
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

puttykeygen.exeを起動
ウィンドウが出るので、Loadボタンを押してpoderosa_dsaをロードする。
private key が生成できたら、名前を付けて保存。
WinSCPにはこの鍵を使う。

設定はセーブしておくと便利。


sshの設定は以上です!!!


おまけ:公開鍵・秘密鍵のペアの作成@玄箱



#cd ~/.ssh
#ssh-keygen -t dsa ←rsaにするとSSH1

id_dsa.pub が公開鍵なので、authorized_keysとしてコピーし、
これは~/.ssh/以下に置いておく。
#cp id_dsa.pub authorized_keys

id_dsaが秘密鍵。これをクライアントに送る。
(正確にはクライアントから玄箱にftp接続してgetする。)


おまけ:クライアントの設定(TeraTermPro SSH2には非対応!)



TTSSH日本語版
http://www.sakurachan.org/soft/teraterm-j/ttssh/

TeraTermProをインストール
環境変数TERATERM_EXTENSIONSを1にセット
「マイコンピュータ」を右クリック→プロパティ→詳細設定→環境変数

TTSSHの日本語版をDL、TeraTermProをインストールしたディレクトリに中身をコピー。