我需要从中间服务器的目标服务器执行rsync,并且在目标服务器和中间服务器上都有相同的公钥.我想使用该密钥,所以我不必进行密码验证.
local --ssh--> middle --ssh--> target
通过防火墙使用rsync的读取方法1使得它看起来可行,但我已经能够找出命令语法的ssh部分.
当我尝试
ssh -i $KEY -A user@middle ssh user@target
我明白了
Permission denied,please try again. Permission denied,please try again. Permission denied (publickey,password).
很明显,代理转发并没有像我期望的那样发生.
理想情况下,我想将它全部放在一个命令中而不必在〜/ .ssh / config文件中放入任何内容.在这种情况下执行rsync的所有步骤是什么?
谢谢,
埃弗雷特
解决方法
‘-A’只会“携带”加载到ssh-agent中的身份. (命令上的’-i’是不够的.)
这件事怎么样;
ssh-agent sh -c "ssh-add test_ident; rsync -avr --rsh='ssh -TA hostA ssh -TA ' foo/ hostB:/var/tmp/foo/"