SSHサーバの構築
mainServerのサーバ構築
SSHサーバの構築
外部公開のため、パスワードによる認証でなく、公開鍵と秘密鍵、及びパスフレーズによる認証でSSHの構築をします。
- (1) インストール
-
# rpm -qa | grep ssh
openssh-4.3p2-10
openssh-askpass-4.3p2-10
openssh-clients-4.3p2-10
openssh-server-4.3p2-10 - (2) RSA公開鍵と秘密鍵の作成
- 作成方法については、Gentoo Linuxで自宅サーバを参考にしてください。
- (3) 設定
-
# vi /etc/ssh/sshd_config
- (ⅰ)RSA公開鍵認証の有効化
- (ⅱ)rootで直接ログインできないようにする。
- (ⅲ)rhostでの接続とパスワード認証の無効化
- (ⅳ)チャレンジレスポンス認証を明示的に無効化
- (ⅴ)ログレベルを指定しておく。
以下により、公開鍵と秘密鍵、及びパスフレーズによる認証が可能になります。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keysこれにより、ssh接続でroot権限を得るには認証を2回パスしなければならなくなります。
PermitRootLogin noRhostsRSAAuthentication no
PasswordAuthentication no
PermitEmptyPasswords noこれをしておかないとPAM認証(実質的にはパスワード認証)を行ってしまうので、公開鍵認証に限定するためにチャレンジレスポンス認証を明示的に無効化します。
ChallengeResponseAuthentication noSyslogFacility AUTH
LogLevel INFO以上で、
・サーバ上の公開鍵とペアになっている秘密鍵を持っていること
・鍵ペア作成時に設定したパスフレーズを知っていること
・ssh2で接続すること
を満たさなければssh接続ができなくなります。 - (4) SSH公開鍵認証の設定
-
- (ⅰ)サーバ側でやること
- (ⅱ)クライアント側でやること
■公開鍵ファイルをOpenSSH互換の鍵に変換
PuTTYgenで生成した鍵はOpenSSHでは使用できません。
$ ssh-keygen -i -f ~/id_rsa.pub > ~/authorized_key_for_admin
$ mv authorized_key_for_admin .ssh/authorized_keys
$ sudo chown admin .ssh/authorized_keys
$ sudo chown togino .ssh/authorized_keys
$ chown togino .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chmod 700 .ssh■Windows対応の公開鍵、秘密鍵のペアの作成
■WinSCP付属のPuTTYgenでWindows系の鍵を生成
■鍵を生成すると、公開鍵を「id_rsa.pub」,秘密鍵を「id_rsa_com.ppk 」として保存。
保存先は、「c:\Documents and Setting\ユーザ\Application Data\rsa」(XP)
C:\Users\ユーザ\AppData\Local\rsa\id_rsa_com.ppk(Vista)*アクセスできるか確認
WindowsでPoderosaを使ってログインする場合は、秘密鍵の変換が必要。特に、「Wrong Key Format」とでれば、秘密鍵の形式を「ssh.com.key」にしていないことが原因。詳細は、SSH公開認証の設定を参考にしてください。 - (5) xineted経由で起動させる
-
# service sshd stop
# chkconfig sshd off# vi /etc/xinetd.d/ssh
service ssh { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/sshd server_args = -i log_on_success += DURATION USERID log_on_failure += USERID disable = no only_from = 192.168.○.○ 192.168.○.○ .○.○.jp }
# service xinetd restart
SubmainServerのサーバ構築
SSHサーバの構築
外部公開のため、パスワードによる認証でなく、公開鍵と秘密鍵、及びパスフレーズによる認証でSSHの構築をします。
- (1) インストール
-
# rpm -qa | grep ssh
openssh-4.3p2-10
openssh-askpass-4.3p2-10
openssh-clients-4.3p2-10
openssh-server-4.3p2-10 - (2) RSA公開鍵と秘密鍵の作成
- 作成方法については、Gentoo Linuxで自宅サーバを参考にしてください。
- (3) 設定
-
# vi /etc/ssh/sshd_config
- (ⅰ)RSA公開鍵認証の有効化
- (ⅱ)rootで直接ログインできないようにする。
- (ⅲ)rhostでの接続とパスワード認証の無効化
- (ⅳ)チャレンジレスポンス認証を明示的に無効化
- (ⅴ)ログレベルを指定しておく。
以下により、公開鍵と秘密鍵、及びパスフレーズによる認証が可能になります。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keysこれにより、ssh接続でroot権限を得るには認証を2回パスしなければならなくなります。
PermitRootLogin noRhostsRSAAuthentication no
PasswordAuthentication no
PermitEmptyPasswords noこれをしておかないとPAM認証(実質的にはパスワード認証)を行ってしまうので、公開鍵認証に限定するためにチャレンジレスポンス認証を明示的に無効化します。
ChallengeResponseAuthentication noSyslogFacility AUTH
LogLevel INFO以上で、
・サーバ上の公開鍵とペアになっている秘密鍵を持っていること
・鍵ペア作成時に設定したパスフレーズを知っていること
・ssh2で接続すること
を満たさなければssh接続ができなくなります。 - (4) SSH公開鍵認証の設定
-
- (ⅰ)サーバ側でやること
- (ⅱ)クライアント側でやること
■公開鍵ファイルをOpenSSH互換の鍵に変換
PuTTYgenで生成した鍵はOpenSSHでは使用できません。
$ ssh-keygen -i -f ~/id_rsa.pub > ~/authorized_key_for_admin
$ mv authorized_key_for_admin .ssh/authorized_keys
$ sudo chown admin .ssh/authorized_keys
$ sudo chown togino .ssh/authorized_keys
$ chown togino .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chmod 700 .ssh■Windows対応の公開鍵、秘密鍵のペアの作成
■WinSCP付属のPuTTYgenでWindows系の鍵を生成
■鍵を生成すると、公開鍵を「id_rsa.pub」,秘密鍵を「id_rsa_com.ppk 」として保存。
保存先は、「c:\Documents and Setting\ユーザ\Application Data\rsa」(XP)
C:\Users\ユーザ\AppData\Local\rsa\id_rsa_com.ppk(Vista)*アクセスできるか確認
WindowsでPoderosaを使ってログインする場合は、秘密鍵の変換が必要。特に、「Wrong Key Format」とでれば、秘密鍵の形式を「ssh.com.key」にしていないことが原因。詳細は、SSH公開認証の設定を参考にしてください。 - (5) xineted経由で起動させる
-
# service sshd stop
# chkconfig sshd off# vi /etc/xinetd.d/ssh
service ssh { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/sshd server_args = -i log_on_success += DURATION USERID log_on_failure += USERID disable = no only_from = 192.168.○.○ 192.168.○.○ .○.○.jp }
# service xinetd restart