ssh-addコマンドを使用してもIDがssh-agentに追加されない


20

私はちょうどubuntu 13.10をインストールし、ssh-agentにIDを追加しようとしていたので、ターミナルを開いてこれを行いました

bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ 

何か案は?

回答:


26

からman ssh-add

ssh-addは、認証エージェントssh-agent(1)に秘密鍵IDを追加します。引数なしで実行すると、ファイル〜/ .ssh / id_rsa、〜/ .ssh / id_dsa、〜/ .ssh / id_ecdsa、および〜/ .ssh / identityが追加されます。[...]

IDファイルは、ユーザー以外の誰にも読まれてはなりません。ssh-addは、他のユーザーがアクセスできるIDファイルを無視することに注意してください。

したがって、The agent has no identities.エラーのために、おそらくそれらのファイルがないか、他のユーザーがそれらのファイルにアクセスできる可能性があります。次のコマンドを使用してこれらを確認できます。

ls -l ~/.ssh

また、ssh-addコマンドを実行echo $?した後、実行して前のコマンドのエラーステータスを確認します。終了ステータスが0を返した場合、コマンドは正常に実行されました。終了ステータスがゼロ以外の値を返した場合、コマンドの実行は失敗しました。

詳細についてはman ssh-add、を参照してください。


true、それらのファイルはなく、終了値ssh-addは1でしたが0ではありませんでした。ファイルが作成されていないため、明らかに権限に問題があります。これをどのように修正できますか?ディレクトリは~/.ssh存在します(空です)が、表示しても表示されませんls -l
-bjorgvin

このコマンドを実行したssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsaので、man ssh-keygenが助けてくれました、ありがとう。
bjorgvin

1
それは私にとって正しい方向へのインポートのヒントを与えました。複数のsshキーがあり、最初にssh-add <keyname>を使用して適切なキーを追加する必要がありました。それは魅力のように働いた。thx
ポーロホ14年

3
実行するときに何らかの理由で、私は任意の出力を持っていなかったssh-addパスフレーズを入力した後、それはによると失敗していた(、$?しようとした1。I returing chmod 600 ~/.ssh/id_rsa* 運では。私は、と最初から新しい鍵を生成ssh-keygenし、それが働いた。悲しいけど、少なくともそれはですOK(失敗したキーはを使用して生成されたのでssh-keygen -t rsa -b 4096 -C "your_email@example.com"ssh-keygen今回は代わりに実行しただけです。)
GabLeRoux

1
私はこの順序で次のことをしなければなりませんでした:(必要に応じて、新しいsshキーを生成し、.pubキーをgithubに追加することを確認しcd ~/.ssh && ls -lahてください)、. ssh フォルダーの読み取り/書き込み権限を確認するには 、すべてのキーを変更します)chmod 400 myKeyそのssh-add **ABSOLUTE**pathToKey 場合、絶対パスを追加しないと機能しません。次に、テストしますssh -vT git@github.com
jungledev

3

上記の考慮事項に加えて、代替シェルを使用している場合は、ssh-agentをロードするように構成する必要がある場合があることがわかりました。例えば、Zshの中で、一つは追加する必要がありますssh-agentpluginsの中で.zshrc

この方法は、Ubuntu 17.10で最新のZshを使用するとうまく機能します

他の人は、id_ed25519キーrsaを使用すると、プラグインなしで機能していることを発見しました。に追加ssh-agentした後~/.zshrc、シェルを再起動しexec "$SHELL"て実行します:ssh-add ~/.ssh/id_ed25519

Enter passphrase for ~/.ssh/id_ed25519: 
Identity added: ~/.ssh/id_ed25519 (user@host)

こちらの手順でssh-agentプラグインを.zshrcに追加します:github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent
Kariem
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.