FedoraCore5でssh-agentを使う 

FedoraCore5のグラフィカルログインで使っているのだが、環境整備も落ち着いてきたの>でそろそろssh-agentを使いたい。以前はWindowsからTTSSHでの利用が中心だったため、>ログインスクリプト(~/.bash_loginだったかな?)でssh-agentの有無を確認して実行した>り、ログアウトの際にプロセスを殺したりしていた。

グラフィカルログインでの場合それではあまりうまくいかない。というかそもそも設定をしないでいてもssh-agentが起動している。あとは秘密鍵?とかをしかるべきファイルに書き込んでやればよいだけかな?

当然検索したらMakino Takakiさんのページがヒット。ここに書かれているものを参考にして設定。

[ローカル側]

% ssh-keygen -t dsa
% cat .ssh/id_dsa.pub | ssh -l REMOTE_USER REMOTE_HOST "bash -Cc 'cat >> .ssh/authorized_keys'"
% vi .bashrc
(追加)
echo -n "ssh-agent: "
source ~/.ssh-agent-info
ssh-add -l >&/dev/null
if [ $? == 2 ] ; then
echo -n "ssh-agent: restart...."
ssh-agent >~/.ssh-agent-info
source ~/.ssh-agent-info
fi

if ssh-add -l >&/dev/null ; then
echo "ssh-agent: Identity is already stored."
else
ssh-add
fi


これでOK。→後で気がついたのだけど、scpしても.bashrcのこの部分が実行される。echoを実行すると返り値が悪いのか、標準出力への出力が悪いのか分からないけど、scpがこけます。その場合には標準出力への出力部分を消去しておけばいい。

グラフィカルログインした際には、最初にパスフレーズを尋ねてくる。
シェルを起動した際にssh-agentにパスフレーズを憶えさせていなければパスフレーズを尋ねてくるし、憶えていればそのままパスワード無しでsloginできる。これでOK。

コメント

コメントの投稿















管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://haginov.blog35.fc2.com/tb.php/44-c727e9d4