ssh-add
単独では機能しません:
Error connecting to agent: No such file or directory
このツールをどのように使用する必要がありますか?
答え1
ssh-agent
まず初期化する必要があります。
さまざまな方法でこれを実行できます。新しいシェルを起動することで
ssh-agent bash
ssh-agent
または、現在のシェルから返されたスクリプトを評価します。
eval "$(ssh-agent)"
すべての履歴と変数を保持するので、2番目のアプローチを使用することをお勧めします。
答え2
Windows PowerShell(管理者として実行):
現在の状態を確認SSHエージェント:
Get-Service | ?{$_.Name -like '*ssh-agent*'} | select -Property Name, StartType, Status
サービスが無効になっている場合は有効にします。
Set-Service -Name ssh-agent -StartupType Manual
サービスを開始します。
Start-Service ssh-agent
以前と同じようにキーを追加してください。
ssh-add <path to the key>
答え3
SSHエージェントが実行されていないか、設定された環境変数が現在の環境で使用できない(最も重要SSH_AUTH_SOCK
)、誤って設定されています(死んだエージェントを指す)。
次のコマンドを使用して、現在のシェルセッションでエージェントを起動できます。
eval "$(ssh-agent)"
または、プロキシを介して新しいシェルセッションを開始してください。
ssh-agent fish
(fish
使用中のシェルと交換してください)。しかし、あなたが言った後に慣れるこの機能なしで作業できる場合は、ssh-add
誤ってエージェントを殺したか、他の理由で終了したと考えられます。エラーメッセージを見ると、SSH_AUTH_SOCK
環境変数が実際に設定されていますが、ssh-add
そのパスに有効な通信ソケットが見つからないようです。
完全にログアウトしてから再度ログインするか、コンピュータを再起動すると、通常の作業方法が再び機能しても驚くことはありません。
答え4
私が誤って見つけたのは、私が何をしようとしてもキーを追加できないということです。 opensshを再インストールし、systemdで起動し、停止し、再起動し、ssh-agentを起動し、実行中のすべてのssh-agentプロセスを終了し、新しいプロセスで試してください...常にファイルまたはディレクトリを探すできません。最後に、~/.sshからすべてのSSHキーを削除し、カスタム名を指定した新しいキーを生成しましたが、まだ機能しませんでした。何仕事をしました。何らかの理由でキー名をid_rsa
. に変更すると、エージェントはキーを追加せずに自動的にキーを選択して操作を開始します。アーチに起こったことです。