SSH代理在多个服务器上工作而无需重新输入?有些国旗?

时间:2014-02-10 00:36:07

标签: unix ssh ssh-tunnel ssh-agent

假设服务器是myLaptop,A和B.相同的ssh-agent应该允许我在没有读取服务器A中的ssh-agent的情况下查看A和B以转到B.

$ eval `ssh-agent`; ssh-add ~/.ssh/mePriv   #In myLaptop
$ ssh me@kosh.A.com                         #Works without typing pwd
$ ssh me@triton.A.com                       #Won't work, ssh-agent not alive in A?!   
$ eval `ssh-agent`; ssh-add ~/.ssh/mePriv; ssh me@triton.A.com #Works, dupe...

现在我在myLaptop和A中运行ssh-agent。是否有一些简单的方法,以便我只能在myLaptop中设置一次ssh-agent而无需在A中重新输入所有内容?

P.S。我不确定技术术语,但我在这里尝试通过服务器A连接到服务器B的同样的事情可以通过ssh-forwarding / ssh-tunneling来完成,不确定正确的术语。对于这个问题,请关注ssh-agent。最简单的解决方案非常受欢迎!

1 个答案:

答案 0 :(得分:1)

请查看答案here

不久

  • 在您的服务器中运行ssh-keygen
  • 将私钥id_rsa移至您的笔记本电脑的$ HOME / .ssh / id_rsa
  • 从您的服务器中删除私钥id_rsa
  • 在笔记本电脑中创建以下$ HOME / .ssh / config
  • 运行ssh-add $ HOME / .ssh / id_rsa
  • 将公钥复制到笔记本电脑的$ HOME / .ssh / id_rsa.pub
  • 将公钥添加到服务器的$ HOME / .ssh / authorized_keys

有.ssh / config之类的

Host server.myhomepage.com
  User masi
  Port 22
  Hostname server.myhomepage.com
  IdentityFile ~/.ssh/id_rsa
  TCPKeepAlive yes
  IdentitiesOnly yes