Python——paramiko实现跳转控制

通过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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值