OpenSSH は、SSH プロトコルを使用するネットワーク接続ツールの フリーな 実装です。最近のLinuxディストリにはデフォルトで入っているものも多く、Fedoraにも標準で搭載されています。今回はそのまま使う事にします。
インストール
openssh-serverのインストールopenssh-clientsのインストール# yum -y install openssh-server
# 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での鍵生成方法を記載します。 鍵を作成するユーザーになる。rsa方式の鍵作成# su - hoge
ユーザーディレクトリの.sshディレクトリの下の、 id_rsaが秘密鍵、id_rsa.pubが公開鍵です。 この公開鍵をサーバーのログインユーザーに設定します。 リモートログインしたいユーザーでサーバーに入ってください。 公開鍵はUSBやFTPでサーバーにアップしましょう。 置き場はユーザールート/.ssh/です。# 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:パスワード再入力
ユーザーディレクトリから公開鍵をauthorized_keysに変更します。# cd 〜/.ssh
鍵が第三者から読める用だと警告メッセージがでますので、 鍵のパーミッション変更しておきます。# cat id_rsa.pub >> authorized_keys
使った公開鍵を削除# chmod 600 .ssh/authorized_keys
sshdの再起動# rm -f .ssh/id_rsa.pub
これでクライアントから公開鍵認証でssh接続できるはずです。 ここではCLIからの接続方法を書いておきます。# sudo /etc/rc.d/init.d/sshd restart
鍵の生成で聞かれたパスフレーズを聞かれますので入力すれば繋がります。# ssh -l ログインユーザー名 -i 秘密鍵のパス 接続先サーバーIPアドレス
コメント