クライアントで
鍵を作る
ssh-keygen -t rsa
途中でパスフレーズを入力。
~/.ssh/以下に
id_rsa 秘密鍵 id_rsa.pub 公開鍵
ができます。
パーミッションチェックする。他人が読めるようになっているとsshクライアントはその使用を拒否することが有ります。
~/.ssh/ 0700 ~/.ssh/id_rsa 0600
※ id_rsa は外部に持ち出さないように。
id_rsa.pubをサーバー側ユーザーの ~/.ssh/authorized_key として登録するために scp でサーバーに送ります。
scp ~/.ssh/id_rsa.pub user@example.com:~/id_rsa.pub
サーバーで
クライアントからコピーした id_rsa.pub を cat で authorized_key に追加します。
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
パーミッションチェックする。
~/.ssh/ 0700 ~/.ssh/authorized_keys 0600
サーバーにコピーしたid_rsa.pubは削除しておく。
sshd_config の設定
vi /etc/ssh/sshd_config =========== PermitRootLogin without-password (rootのパスワードログインを無効に) PasswordAuthentication no(全てのユーザーのパスワードログインを無効に) AllowUsers username (特定のユーザーのみ接続許可) =========== /etc/rc.d/init.d/sshd restart (再起動)
authorized_keys にオプションを設定する(利用目的に応じて必要ならば)
※オプションの間は ,(カンマ)を入れる。
前後にスペースは入れない。オプションと公開鍵の間はスペース1つ。
特定のhostからのみ接続を許可する。
from="パターン1,パターン2"
特定のコマンドを実行
command="コマンド文字列"
コマンド実行の時は下記のも入れる
no-pty,no-x11-forwarding,no-port-forwarding,no-agent-forwarding
例:
from="192.168.0.1,192.168.0.2",command="/bin/ls",no-pty,no-x11-forwarding,no-port-forwarding,no-agent-forwarding ssh-rsa AAAA…