我的場景:
我Server A
家裡有,Server B
我父母家也有。我家裡Laptop A
也有。Laptop B
我做了各種奇怪的 ssh 跳躍 - 我可能會連接Laptop A -> Server A -> Server B
。或者Laptop B -> Server A -> Laptop A
。或者Server A -> Server B
我已經在所有這些機器上設置了鑰匙串,並且像一個具有安全意識的極客一樣,我已經
eval `keychain --clear`
在我的.zlogin
文件中。
我的問題是,即使我解鎖了 上的密鑰Laptop A
,一旦我連接到Server A
它,就會嘗試使用伺服器 A 上的鑰匙串/ssh-代理,所以我必須解鎖那些鑰匙也一樣。我ForwardAgent
也在所有這些機器上進行了設定。我希望發生的是這樣的事情:
- 登入
Laptop A
- 解鎖
Laptop A
鑰匙 - SSH 到
Server A
- ssh 到
Server B
- 使用來自Laptop A
.
我怎樣才能做到這一點?
答案1
這並不能直接回答您的問題,但它確實為您提供了一個可供考慮的替代選擇,這可能會對您有所幫助。我通常會$HOME/.ssh/config
像這樣設定我的文件:
IdentityFile ~/.ssh/my-computers
# infrastructure
Host lap1
User sam
#PubkeyAuthentication no
ProxyCommand ssh [email protected] nc lap1.internal.local %p
然後,當我外出時想要連接到我的 lap1.internal.local 系統時,我只需執行以下操作:
ssh lap1
我通常將我的公鑰 ssh-copy-id 到我想要登入的其他伺服器。如果您希望我詳細說明,請告訴我。