私のサーバーにSSHを介して再度接続するたびに私のサーバーで正常にSSHを実行するには、常にeval 'ssh-agent -s'
次のコマンドを使用して私のSSHエージェントを起動する理由を理解できません。ssh-add <my_key.pem>
.bashrcに入れましたが、確かに何かが欠けており、ログインするたびに初期化したくありません。
答え1
@Jakujeが述べたように、フォワードプロキシを使用し、ローカルセキュリティシステムのキーを使用することをお勧めします。
keychain
しかし、あなたが言うようにする必要がある場合は、(github.com/funtoo/keychain)や(github.com/wwalker/ssh-find-agent)などのツールを使用してくださいssh-find-agent
。後で電子に置き換えました。)両方のツールが実行されているgpgまたはsshエージェントを見つけて、環境をそのエージェントに接続します。
答え2
ForwardAgent
私は、一部のサーバーにいくつかのキーを置いてログインするたびにプロキシを再初期化するよりも、ワークステーションから情報を取得する方が安全で便利です。
~/.ssh/config
単に適切なホストに追加することができます(または-A
スイッチssh
コマンドを使用して):
ForwardAgent yes
ローカルエージェントにローカルキーを追加すると、ローカルで使用するのか、リモートで使用しているのかを気にする必要はありません。
パスワードで保護されたキーであることも言及していませんが、に入れるとそうではありません.bashrc
。より簡単な方法は、サーバーにキーパスを割り当てることです~/.ssh/config
(キーをキーパスに入れたい場合)。サーバー)、次のようになります。
IdentityFile <my_key.pem>
再特定のホストまたは世界的に。
答え3
git pushでこの問題が発生した場合は、.ssh / configの設定と一致するようにgitリモートを設定して問題を解決します。
git remote add alice git@gitolite-as-alice:whatever.git
.ssh/config
Host gitolite-as-alice <-- matches git remote above
HostName git.company.com
User git
IdentityFile /home/whoever/.ssh/id_rsa.alice
IdentitiesOnly yes