我的意思是,如果我在系统“A”(Linux),我想ssh到系统“B”(Windows):在系统“A”,我可以做ssh admin@xx.xx .xx.xx将提示我输入密码,当验证时,我将进入系统“B”的“$”(在系统“A”上)。
答案 0 :(得分:2)
我通常使用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
注意:如果你在这里遇到安装评论,我可以帮助你。
答案 1 :(得分:1)
您可以使用man page所述的ssh密钥,而不是使用密码进行身份验证。
在System" A"上启动您的ssh客户端使用subprocess.call(['/path/to/ssh', 'admin@xx.xx.xx.xx', 'remote_script.sh'])