【发布时间】:2015-08-17 01:00:15
【问题描述】:
我要问的是,如果我在系统“A”(Linux)上并且我想通过 ssh 进入系统“B”(Windows):在系统“A”上,我可以执行 ssh admin@xx.xx .xx.xx 将提示我输入密码,当它通过身份验证时,我将进入系统“B”的“$”(在系统“A”上)。
- 如何将用户名和密码一起发送为一行(因为我想使用脚本)
- 如何实现我上面的场景。
【问题讨论】:
我要问的是,如果我在系统“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
注意:如果您在此处遇到安装注释,我可以为您提供帮助。
【讨论】:
pip install paramiko...
您可以使用here 所述的 ssh 密钥,而不是使用密码进行身份验证。
使用subprocess.call(['/path/to/ssh', 'admin@xx.xx.xx.xx', 'remote_script.sh'])在系统“A”上启动您的 ssh 客户端
【讨论】: