Kubuntu 12.04で友人の新しいユーザーアカウントを設定しました。彼が使用するとき、ssh
彼はこのエラーを受け取ります:
認証エージェントへの接続を開けませんでした
ssh
いくつかのbashスクリプトで実行しています。
そのエラーにつながる可能性のあるさまざまなものを見て回った後、私はこの解決策に出会いました:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
その後ssh
、期待どおりにコマンド(およびbashスクリプト)を実行できます。
これらの2つのコマンドを実行する前に、env変数は端末に設定されていません。
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
コマンドを実行した後、環境変数は期待どおりに設定されます。ただし、それらは設定されたままではありません(たとえば、別のシェルで、または再起動後)。
env変数を設定するためにこれらの2つのコマンドを実行する必要がないように、コンピューターをセットアップする方法を知りたいです。私は自分のコンピューターでそれらを実行する必要はありません(決して)。これまでのところ、私たちのマシンの違いはわかりません。
この情報はマニュアルページにありますが、Ubuntuがエージェントを自動的にセットアップする方法や、友人のマシンで何が起こっているのかがわかりません。
エージェントをセットアップするには、主に2つの方法があります。1つ目は、ssh-agent xterm&など、環境変数がエクスポートされる新しいサブコマンドをエージェントが開始することです。2番目は、エージェントが必要なシェルコマンド(sh(1)またはcsh(1)のいずれかの構文を生成可能)を出力することです。これは
ssh-agent -s
、sh(1)などのBourneタイプのシェルのevalssh-agent -c
csh(1)および派生物のためのksh(1)およびeval 。
インストールacct
と再起動後、これは次の出力になりますlastcomm
。
ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02
ssh-agent F newuser __ 0.00 secs Wed Aug 7 20:34
ssh-agent F newuser __ 0.02 secs Wed Aug 7 20:02
ssh-agent F newuser __ 0.01 secs Thu Aug 8 12:39
ssh-agent F newuser __ 0.02 secs Thu Aug 8 07:45
manページから:
F-フォークの後で実行されたコマンドの後に実行されないコマンド
それが重要かどうかはわかりません。
X11/Xsession.options:use-ssh-agent
ていX11/Xsession.d/90x11-common_ssh-agent:SSHAGENT=/usr/bin/ssh-agent
ます。私がしようとしますacct
とlastcomm
、次。ありがとう
lastcomm
だけでなく、フルセッションのの出力を投稿してくださいssh-agent
。ポイントは、さまざまなプログラムが開始される順序を確認することです。
ssh-agent
通常はから開始され/etc/X11/Xsession.d/90x11-common_ssh-agent
ます。これはuse-ssh-agent
から削除することで抑制できます/etc/X11/Xsession
。それらのファイルは正しいですか?エージェントは開始されてから殺されますか、それとも開始されませんか?(ログイン後、インストールacct
して実行しlastcomm
、どのプログラムが起動されたかを確認します。)