.bashrcに以下を追加しました。
ssh-add ~/.ssh/id_rsa
したがって、シェル/ターミナルアプリケーション(macOSのiTerm2)で新しいタブを開くと、SSHエージェントを使用してSSH IDが自動的に追加されるため、タブにSSHパスワードを手動で入力する必要はありません。しかし、タブが多いとssh-agentの実行インスタンスを多く持つ必要はないようです。
これを達成するより良い方法はありますか?
ベストアンサー1
問題は、シェルを初期化するたびにエージェントへの新しい呼び出しを開始することです(おそらくまたは.bash_profile
..bashrc
これは不要であるため、対応するssh-agent呼び出しを見つけて削除する必要があります)。
OSX では、通常、デスクトップセッションの開始時に SSH エージェントが起動します。たとえば、
myhost:~)-> ps -ef | grep ssh-agent
501 986 1 0 10:18AM ?? 0:00.14 /usr/bin/ssh-agent -l
501 2126 736 0 5:30PM ttys007 0:00.00 grep ssh-agent
これにアクセスするには、リスニングソケットがどこにあるかを調べる必要があります。通常、任意の英数字識別子が/tmp/com.apple.launchd.<blah>/Listeners
どこに<blah>
あるかを調べる必要があります。いくつかありますが、「リスナー」ソケットが必要です。
ソケットが見つかったら、標準のSSH環境変数を使用して接続できますSSH_AUTH_SOCK
。たとえば、
myhost:~)-> export SSH_AUTH_SOCK=/tmp/com.apple.launchd.1h2j3k4l5/Listeners
myhost:~)-> ssh-add ~/.ssh/id_rsa
Enter passphrase for ~/.ssh/id_rsa: <typing_here>
Identity added: ~/.ssh/id_rsa (~/.ssh/id_rsa)
シェルにエクスポートしたら、ssh-add
この時点でコマンドを使用してキーパスワードを入力し、そのキーをエージェントに追加できます。ナビゲートしたい他のオプションについては、ssh-agentのマニュアルページをご覧ください。