如何使用Python在本地启动SSH会话?

2024-09-30 05:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想问的是,如果我在系统“A”(Linux)上,并且我想通过ssh连接到系统“B”(Windows):在系统“A”上,我可以执行sshadmin@xx.xx.xx.xx这将提示我输入一个密码,当这个密码被验证后,我将到达系统“B”(在系统“a”上)的“$”。在

  1. 如何将用户名和密码作为一行发送(因为我想使用脚本)
  2. 如何实现上述场景。在

Tags: 脚本密码linuxwindows系统场景ssh用户名
2条回答

我一般用帕拉米科做,比较容易

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,可以下载焦油gz来自here的文件。在

假设您对python非常陌生,那么如何安装:

  • 下载tar.gz文件
  • 将内容提取到文件夹中
  • cd从你的终端提取到那个提取的文件夹中
  • 执行这个python setup.py install
  • 然后你可以试试上面的例子

注意:如果你被困在这里的安装注释,我可以帮助你。在

  1. 您可以按照here所述使用ssh密钥,而不是使用密码短语进行身份验证。

  2. 使用subprocess.call(['/path/to/ssh', 'admin@xx.xx.xx.xx', 'remote_script.sh'])

相关问题 更多 >

    热门问题