OpenSSH は、SSH プロトコルを使用するネットワーク接続ツールの フリーな 実装です。最近のLinuxディストリにはデフォルトで入っているものも多く、Fedoraにも標準で搭載されています。今回はそのまま使う事にします。

インストール

openssh-serverのインストール
# yum -y install openssh-server
openssh-clientsのインストール
# yum -y install openssh-clients

OpenSSHの設定

sshd_configの変更
# vi /etc/ssh/sshd_config

ルートログインの禁止
#PermitRootLogin yes
を変更
PermitRootLogin no

パスワード認証を禁止(鍵方式にするため)
#PasswordAuthentication yes
#PermitEmptyPasswords no
を変更
PasswordAuthentication no
PermitEmptyPasswords

SSH2鍵の作成

さて鍵の作成に移るわけですが、此処でちょっと注意点というか勘違いしやすい所を一つ。 一般的にSSHの鍵はクライアントで作成した公開鍵を、SSHサーバー側のauthorized_keysに登録するものです。 初め設定したときは、勘違いしていて、サーバーで生成した鍵をクライアントに持って行くものだと思っていました。其れも不可能ではないのですが、クライアントによっては繋がらない可能性が有ります。 Unix系OSでしたらopenssh-clientsを使って生成すればよいでしょうし、 Windows系なら,Puttyやpoderosaなどのsshクライアントで生成出来ます。 此処では、OpenSSHでの鍵生成方法を記載します。 鍵を作成するユーザーになる。
# su - hoge
rsa方式の鍵作成
# ssh-keygen -t rsa
デフォルトの出力先に出力するか確認。

何も入力しないでエンターOKです。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): エンター

鍵に設定するパスフレーズ入力を求められます。
Enter passphrase (empty for no passphrase): パスワード入力
Enter same passphrase again:パスワード再入力
ユーザーディレクトリの.sshディレクトリの下の、 id_rsaが秘密鍵、id_rsa.pubが公開鍵です。 この公開鍵をサーバーのログインユーザーに設定します。 リモートログインしたいユーザーでサーバーに入ってください。 公開鍵はUSBやFTPでサーバーにアップしましょう。 置き場はユーザールート/.ssh/です。
# cd 〜/.ssh
ユーザーディレクトリから公開鍵をauthorized_keysに変更します。
# cat id_rsa.pub >> authorized_keys
鍵が第三者から読める用だと警告メッセージがでますので、 鍵のパーミッション変更しておきます。
# chmod 600 .ssh/authorized_keys
使った公開鍵を削除
# rm -f .ssh/id_rsa.pub
sshdの再起動
# sudo /etc/rc.d/init.d/sshd restart
これでクライアントから公開鍵認証でssh接続できるはずです。 ここではCLIからの接続方法を書いておきます。
# ssh -l ログインユーザー名 -i 秘密鍵のパス 接続先サーバーIPアドレス
鍵の生成で聞かれたパスフレーズを聞かれますので入力すれば繋がります。