突然発生する短期SSH接続の問題を解決しようとしています。これらの接続は私のMac(MBP、Catalina 10.15.6 zsh
)でいくつかのLinuxで行われます。「家電製品」私のネットワークに存在するもの - 特にラズベリーパイ。client_loop: send disconnect: Broken pipe
接続が終了した後に端末にメッセージを残します。
しかし:関連がある場合にのみ背景として提供されます。私の直接の質問:
ssh-agent -k
なぜ殺さないでくださいという命令が出るのでしょうかssh-agent
?
SSH_AGENT_PID
環境変数が設定されていないため失敗したようです。 Mac端末アプリに表示されている内容に基づいて推測します。
1. リストSSH関連プロセス:
% pgrep -f ssh
2138
75076
75942
75943
75944
% ps 2138
PID TT STAT TIME COMMAND
2138 ?? S 0:00.26 /usr/bin/ssh-agent -l
PID2138
はでssh-agent
、他のPIDはssh
RaspberryまたはUbuntuボックス(すべてLinux)へのアクティブな接続です。
2. ssh-agent
IAWを殺すman ssh-agent
:
からman ssh-agent
:
ssh-agent [-c | -s] -k
-k現在のエージェントを終了します(SSH_AGENT_PID環境変数で指定)。
% ssh-agent -k
SSH_AGENT_PID not set, cannot kill agent
% sudo ssh-agent -k
SSH_AGENT_PID not set, cannot kill agent
% echo $SSH_AGENT_PID
%
または をssh-agent
使って殺すことができるのでkill 2138
pkill ssh-agent
〜らしいたぶん答えはAppleのバージョンはssh-agent
環境変数を提供しません。SSH_AGENT_PID
。しかし、これが答えならば、別の質問が提起されます。環境変数を割り当てない妥当な理由はありますかSSH_AGENT_PID
?
また参考にしてください関連質問。しかし、この質問のOPは、彼のSSHクライアントホストがmacOSであることを示していません。SSH_AGENT_PID
まだ決まっていないが、どのようにssh-agent
始めるべきか悩んでいるようだ」と話した。私の場合(macOS)は、ssh-agent
SSH接続の開始時に開始されます。 「類似の質問」提案ボックスで別のQ&Aを見つけました。そのうちのいくつかを読んでみましたが、それらのどれも私と同じようではありません。
答え1
答え2
Ubuntu 18.04でも同じ問題が発生しました。 Get IDを使用した後、pidof ssh-agent
私は私に効果的でした:
export SSH_AGENT_PID=<pid>
eval `ssh-agent -k`