2007/04/23

パスワード無しでsshでログイン

セキュリティーの観点から本来はssh-agentを用いる方が良い。
以下は非常に簡易的な方法。

ローカルのコンピュータに~/.ssh/id_rsaを設置して、接続先の~/.ssh/authorized_keysの内容にid_rsa.pubのテキストが含まれるようにする。

より具体的な方法。
まずローカルのコンピュータで鍵を作成する。

% ssh-keygen -t rsa


パスフレーズを尋ねられるが何も入力せずリターンを押す。
~/.ssh/ディレクトリの中にid_rsaとid_rsa.pubという2つのファイルが作成される。

接続先のコンピュータに.sshディレクトリを作成する。

% ssh username@remote_computer
% mkdir ~/.ssh
% chmod 700 .ssh
% exit



id_rsa.pubファイルをscpでコピーする。

% scp ~/.ssh/id_rsa.pub username@remote_computer:~/.ssh/


接続先の~/.ssh/authorized_keysにid_rsa.pubの内容をアペンドする。

% ssh username@remote_computer
% cd .ssh
% cat id_rsa.pub >> authorized_keys


パーミッションの設定

% chmod 600 authorized_keys


id_rsa.pub は不要なので削除する。

% rm id_rsa.pub


以上の処理で次回からパスワード無しでログインが可能になる。