OpenSSHのインストール。
SSHサーバのみが必要ならopenssh-server、クライアントのみが必要ならopenssh-clientsをインストールする。 opensshはいずれの場合も必須。
# インストールされているか確認 rpm -qi openssh rpm -qi openssh-server rpm -qi openssh-clients # インストール yum install openssh yum install openssh-server yum install openssh-clients
SSHサーバを起動する前に設定ファイル/etc/ssh/sshd_configを編集する。 参考資料:sshd_config.0
以下は設定例。 条件は次の通り。
# # 全般的な設定 # # SSHバージョン1および2を使用する Protocol 1,2 # ポート22番をSSH接続で使用するポートに設定する Port 22 # # 公開鍵認証のみを許可するための設定 # # RSAによる公開鍵認証を許可する(SSHバージョン1) RSAAuthentication yes # RSAによる公開鍵認証を許可する(SSHバージョン2) PubkeyAuthentication yes # ユーザ認証に使用される公開鍵ファイル(ホームディレクトリ下にする) AuthorizedKeysFile %h/.ssh/authorized_keys # ホスト側の秘密鍵を格納するファイルを指定する HostKey /etc/ssh/ssh_host_key HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key # # それ以外の認証設定 # # パスワードによる認証を許可しない PasswordAuthentication no # PAMを使用しない UsePAM no # チャレンジ・レスポンス方式による認証を許可しない ChallengeResponseAuthentication no # rootユーザの直接ログインを許可しない PermitRootLogin no # パスワードが設定されていないアカウントのログインを許可しない PermitEmptyPasswords no # rhostsによる認証を許可しない RhostsRSAAuthentication no IgnoreRhosts yes # # その他細かな設定 # # ログインできるユーザを限定する AllowUsers santamarta # 最後にログインした時間を表示する PrintLastLog yes # ファイルやディレクトリのパーミッションが適切に設定されているかチェックする StrictModes yes # 60秒以内にログイン出来ない場合は、接続を切断する LoginGraceTime 60s # 接続を試行できる最大回数(ここで指定した回数の半数以上認証に失敗した場合はログに記録される) MaxAuthTries 6 # ログのファシリティとレベル SyslogFacility AUTHPRIV LogLevel INFO # クライアントの生存チェック間隔と試行回数(15秒3回=最短45秒で切断) ClientAliveInterval 15s ClientAliveCountMax 3 # sftpを使用するための設定 Subsystem sftp /usr/libexec/openssh/sftp-server
設定ファイルの編集が終わったら、起動する。
# デーモンの起動設定を確認 chkconfig --list sshd # デーモンの起動設定 chkconfig sshd on chkconfig --list sshd # sshdを起動 service sshd start
ここではWindows上で動作するSSH2対応ターミナルエミュレータ、Poderosaを使用してSSH接続するための設定例を紹介する。 まずは、Poderosaにて次の手順で公開鍵・秘密鍵のペアを生成する。
続いて、作成した公開鍵をサーバに保存する。 保存する場所は、SSH接続で使用するユーザのホームディレクトリ(実際には、設定ファイルのAuthorizedKeysFileで指定したファイルとなる)。 以下の例では、pubkey.pubが作成した公開鍵で、FTPなどでアップロードしたものと仮定する。
mkdir ~/.ssh chmod 700 ~/.ssh cat pubkey.pub > ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
ここで注意点。 設定ファイルでStrictModesをonに設定した場合、公開鍵を保存するディレクトリ・ファイルのパーミッションを正しく設定しないと正しく動作しない。 この場合、ログファイルには次のようなメッセージが出力される。
tail -f /var/log/secure Nov 12 18:35:14 keine sshd[10733]: Authentication refused: bad ownership or modes for directory /home/santamarta/.ssh
ここまでの設定が完了したら、実際に接続してみる。 「ファイル」メニューの「新規Telnet/SSH接続」をクリックする。
出てくるダイアログについて次のように入力する。
そのほか適宜パラメータを設定してOKをクリック。 うまくいかない場合は/var/log/secureなどを参照して原因を探る。 うまくいけばそれでOK。