我需要创建一个自动设置ssh隧道的脚本。我认为没有密码的专用ssh密钥是一个良好的开端,但我无法找到这是否可能以及如何做到这一点。 此密钥应具有有限的权限(仅设置隧道)但我需要另一个私钥(带密码)。
谢谢!
答案 0 :(得分:8)
好的,我找到了答案。
首先,ssh-keygen -f theNewPrivateKey
否则会覆盖旧的私钥。
其次,ssh -i theNewPrivateKey me@mycomputer
-i
选项会更改用于身份验证的私钥。
现在我可以试试我的剧本了。
编辑:我的新密钥如何具有有限的权限:
将公钥复制到目标计算机的$ HOME / .ssh / authorized_keys2文件时,我添加了这个:
command="sleep 99999999999" ssh-dss AAAAB3NzaC1kc3MA...
(+ the rest of the key)
然后唯一允许的命令是永远等待。 由于创建此密钥的目的是创建一个反向ssh隧道,这应该没问题。 然后我创建隧道:
ssh -T -R 7878:localhost:22 -i .ssh/mynewkey me@myhomecomputer
最后我可以从我的家用电脑登录:
ssh myworklogin@localhost -p7878
我希望这没有安全问题。如果这是一件坏事,请告诉我!
答案 1 :(得分:1)
试试
ssh-keygen
命令。
答案 2 :(得分:0)
我有类似的情况,我必须自动同步服务器内容,而不必在我的robocopy脚本中提供密码。
这Link帮助了我。