下面的代码将执行您想要的操作,您可以根据自己的execute
函数调整它:
不过,请注意,该命令将默认为$HOME
目录,因此您要么需要install.sh
位于$PATH
目录中,要么(很可能)需要cd
位于包含install.sh
脚本的目录中。
您可以使用以下命令检查默认路径:
但是,如果它不在您的路径中,您可以cd
并执行如下脚本:
如果脚本不在您的$PATH
中,您将需要使用./install.sh
而不是install.sh
,就像您在命令行中一样。
如果您在完成上述所有操作后仍有问题,那么也可以检查install.sh
文件的权限:
我在Amazon RDS(“ D”)上托管了一个远程MySQL数据库。为了安全起见,只能通过远程服务器(“ C”)对其进行访问。可通过跳转主机“ B”通过ssh访问C。我需要一个双ssh隧道才能访问远程SQL主机。
到目前为止,我正在使用带有代理命令的paramiko从A到C。我可以通过在C上执行命令来访问D,但不能通过连接mysqldb或sqlalchemy(我的最终目标)来访问D。
我正在寻找这样的东西(从中的示例2修改):
tl; dr:如何在Python中通过两次ssh跳转转发端口?
(在CentOS 7 环境试验成功, Redhat 系列应该是兼容的。)
这些都成功后, 编写一个Python脚本
# 在远程机执行shell命令 # 在远程机执行python脚本命令
建立一个SSHClient对象以后,除了执行命令,还可以开启一个sftp的session,用于传输文件、创建文件夹等等。
# 从远程主机下载文件,如果失败, 这个可能会抛出异常。 # 上传文件到远程主机,也可能会抛出异常
以上就是本文关于python SSH模块登录,远程机执行shell命令实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。