赞
踩
通过SSH 的proxycommand,建立关系,用paramiko模块,调用proxycommand方法
同样通过这功能可以实现文件的跳转上传与下载。
一、通过一台跳板机免密 (a主机 b跳板机 c主机)
做好a免密登录b,b免密登录c ,
a主机~/.ssh下新增文件b_private,内容为b的私钥
a主机~/.ssh下增加config文件,内容为
Host c主机IP
User gcp
Port 22
IdentityFile=~/.ssh/b_private
ProxyCommand ssh -W %h:%p b主机ip
二、通过多台跳板机免密 ( a主机 b跳板机 c跳板机 d主机)
做好A免密登录242,242免密登录38,38免密登录136,
a主机~/.ssh下新增文件33的私钥
a主机~/.ssh下新增文件22的私钥
a主机~/.ssh下新增文件111的私钥
a主机~/.ssh下增加config文件,内容为
Host go33
HostName 172.**.**.***
User csdn
IdentityFile ~/.ssh/id_rsa.name.***
ForwardX11 no
StrictHostKeyChecking no
ForwardAgent yes
UserKnownHostsFile /dev/null
Host go22
HostName 172.**.**.**
User csdn
IdentityFile ~/.ssh/id_rsa.soft.**
ForwardX11 no
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
ProxyCommand ssh -W %h:%p csdn@go33
Host go111
HostName 192.***.**.***
User csdn
IdentityFile ~/.ssh/id_rsa.software.***
ForwardX11 no
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
ProxyCommand ssh -W %h:%p csdn@go22
注意:ProxyCommand 中ip地址的地方要用Host名称代替。
生成密钥ssh-keygen -t rsa -f id_rsa.name
上传密钥ssh-copy-id -i ~/.ssh/id_rsa.name.pub useratA@Host.domain.net
多个用户需要免密登录时:
如果服务器的目录中没有authorized_keys 文件,只需要将id_rsa.pub公钥文件的名称更改为authorized_keys,如果已经有了authorized_keys文件,使用 “>>”重定向符将用户公钥追加到authorized_keys文件中即可。
附:config配置详解:https://www.cnblogs.com/panda2046/p/5933498.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。