我的意思是,如果我在系统“A”(Linux)上并且我想通过 ssh 进入系统“B”(Windows):在系统“A”上,我可以执行 ssh admin@xx.xx .xx.xx 会提示我输入密码,当密码通过身份验证后,我将访问系统“B”的“$”(在系统“A”上)。
- 如何将用户名和密码作为一行一起发送(因为我想使用脚本)
- 如何实现上面的场景。
最佳答案
我一般用Paramiko来做,比较容易
import paramiko
# ssh
print 'enter ssh'
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # this will automatically add the keys
ssh.connect(machineHostName, username=user, password=password)
# Run your commands
# example 1 : ls command
print 'do a ls command'
stdin, stdout, stderr = ssh.exec_command('ls')
print stdout.readlines()
time.sleep(2)
# example 2 : change ip address
print 'changing ip address'
stdin, stdout, stderr = ssh.exec_command('sed -i -- s/'+oldIp+'/'+newIp+'/g /etc/sysconfig/network-scripts/ifcfg-eth0')
print stdout.readlines()
time.sleep(2)
要安装Paramiko,您可以从here下载tar.gz文件。 。
假设你真的是 python 新手,如何安装这个:
- 下载
tar.gz
文件 - 将内容提取到文件夹
cd
从终端进入解压的文件夹- 执行此
python setup.py install
- 那么你可以尝试类似上面的例子
注意:如果您在此处遇到安装注释问题,我可以帮助您。
关于python - 如何使用 Python 在本地启动 SSH session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30609570/