Kubuntu12.04で友達の新しいユーザーアカウントを設定しました。彼がssh
を使用する場合 彼はこのエラーを受け取ります:
認証エージェントへの接続を開くことができませんでした
ssh
を実行しています 一部のbashスクリプトで。
そのエラーにつながる可能性のあるさまざまなことを調べた後、私はこの解決策に出くわしました:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
次に、ssh
を実行できます。 期待どおりのコマンド(およびbashスクリプト)。
これらの2つのコマンドを実行する前に、環境変数は端末に設定されていません:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
コマンドを実行した後、env変数は期待どおりに設定されます。ただし、設定されたままにはなりません(たとえば、別のシェルで、または再起動した後)。
彼が環境変数を設定するためにこれらの2つのコマンドを実行する必要がないように、彼のコンピューターをセットアップする方法を知りたいです。私は自分のコンピューターでそれらを実行する必要はありません(これまで)。これまでのところ、私たちのマシン間で何が違うのかわかりません。
この情報はマニュアルページに表示されますが、Ubuntuが通常どのようにエージェントを自動的にセットアップしているか、または友人のマシンで何が起こっているのかがわからないため、友人のマシンでは機能しません。
エージェントを設定するには、主に2つの方法があります。1つは、
エージェントが、いくつかの環境変数がエクスポートされる
新しいサブコマンドを開始することです(例:ssh-agent xterm&)。 2つ目は、エージェントが
必要なシェルコマンドを出力することです(sh(1)またはcsh(1)構文のいずれかを生成できます)
これは呼び出し元のシェルで評価できます(例:evalssh-agent -s
sh(1)やksh(1)などのボーンタイプのシェルとevalssh-agent -c
csh(1)および派生物の場合。
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
マニュアルページから:
F —フォークの後に実行されたが、後続のexecなしで実行されたコマンド
それが重要かどうかはわかりません。
承認された回答:
ユーザーがssh
であるとおっしゃいました ローカルでログインするのではなく、ログインします。したがって、use-ssh-agent
/etc/X11/Xsession.options
にあります は赤いニシンです。SSHセッションでは実行されません。ローカルでX11GUIデスクトップにログインする場合(またはVNCやRDPなどの仮想X11セッションを使用する場合)のみです。
代わりに、libpam-ssh
かどうかを確認する必要があります どちらのシステムにもインストールされています。 SSH秘密鍵パスフレーズを使用してユーザーを認証するように構成できますが、これはオプションであり、鍵を~/.ssh/login-keys.d/
に具体的に配置する必要があります。 その機能のために。
ただし、他の機能は、任意のログインセッションでSSHエージェントを自動起動し、パスフレーズがユーザーのログインパスワードと同じである場合、SSH秘密鍵をエージェントに自動的に追加することです。これがシステム間の動作の違いの原因である可能性があると思います。