我写了一个简单的代码,其中我通过os.system
将ssh调用到我的实验设备ip之一。现在对我来说问题是我如何提供密码?我可以通过python吗?通过Python传递SSH密码输入
下面是我一直使用的代码:我试图了解os
模块的工作,但到目前为止,怎么现在无法提供密码的说法
import os
os.system("ssh 192.168.1.100")
- 如何通过Python提供一个密码这个节目?
我的环境是Bash。
我写了一个简单的代码,其中我通过os.system
将ssh调用到我的实验设备ip之一。现在对我来说问题是我如何提供密码?我可以通过python吗?通过Python传递SSH密码输入
下面是我一直使用的代码:我试图了解os
模块的工作,但到目前为止,怎么现在无法提供密码的说法
import os
os.system("ssh 192.168.1.100")
- 如何通过Python提供一个密码这个节目?
我的环境是Bash。
安装sshpass,然后使用os.system启动命令那样:
os.system("sshpass -p \'yourpassword\' ssh -o StrictHostKeyChecking=no [email protected]")
或者可以使用织物脚本将公钥复制到系统,那么你将无法连接
需要密码from fabric.api import env, sudo, run
def copy_pub_key(ip, user, password, pub_key):
env.host_string = ip
env.user = user
env.password = password
if user == "root":
sudo('echo \'{pub_key}\' >> /root/.ssh/authorized_keys'.format(
pub_key=pub_key,
user=user
))
else:
sudo('echo \'{pub_key}\' >> /home/{user}/.ssh/authorized_keys'.format(
pub_key=pub_key,
user=user
))
感谢您的回复。最终目标是实现登录自动化,并且在某种官方环境中,除了系统给我的东西外,我无法添加任何软件包。 –
然后,您应该使用结构脚本将公钥复制到系统中,然后您可以不使用密码进行连接。 –
[Python中的命令行参数]的可能重复(http://stackoverflow.com/questions/1009860/command-line-arguments-in-python) – Ajean