仕組みは簡単で、お使いのPC上でssh-keygenというコマンドを使って 公開鍵~/.ssh/id_dsa.pubと秘密鍵~/.ssh/id_dsaを作成します。
具体的には以下のようにコマンドを実行します。
このうち、秘密鍵をログイン先のサーバーに~/.ssh/authorized_keysという名前で保存すれば 準備完了です。あとは、ローカルPC上で秘密鍵をssh-agentに登録するだけです。
具体的には以下のようにコマンドを実行します。
1 2 3 4 5 6 7 8 9 10 11 | $ ssh-keygen -t dsa Generating public/private rsa key pair. Enter file in which to save the key (/home/usrname/.ssh/id_rsa): # 秘密鍵用のパスワードを設定しましょう。 $ scp ~/.ssh/id_dsa.pub s-mita@remotesrv:/home/usrname/.ssh/authorized_keys2 # ~/.bashrcに以下を記述することで、ターミナルが開く度に # 1回だけパスフレーズを設定すれば良くなる。 $ eval `ssh-agent` $ ssh-add |
上記のように設定することで、ターミナルの初回起動時のみパスワード入力が求められますが、
それ以降は、公開鍵を設置したサーバ相手ならばパスワードなしでログインできるようになります。