Windows通过Python登录Linux服务器 ----SSH
2015-10-08 14:58
525 查看
Windows通过Python登录Linux服务器 —-SSH
最近由于工作需要,要通过Python登录Linux服务器,并进入到特定的目录,运行脚本生成一个文件,然后把文件取回本地,服务器为了安全,没有开户Telnet服务,所以只能通过SSH进行登录 直接贴代码,下面再解释:
#!/usr/bin/python import paramiko import os #当前脚本路径 CUR_PATH = os.path.dirname(__file__) #服务器ip Host='10.11.13.19' Port=22 #登录用户名 Username='XXX' #登录密码 Password='XXX' #登录服务器后执行的命令 Command = ['cd workdir/gary/numen/Bata; ./create_version_files.sh 16'] #本地PC路径 WinPath = CUR_PATH + '\\config.zip' #服务器上的路径 LinuxPath = '/home/ding/workdir/gary/numen/Bata/packet/config.zip' def ssh_exec_cmd(command): '''SSHA远程登录:Windows客户端连接Linux服务器,并输入指令''' #登录服务器 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(Host, Port, Username, Password) #执行命令 for i in range(len(command)): send_str = command[i] + '\n' stdin, stdout, stderr = ssh.exec_command(send_str) err = stderr.readlines() out = stdout.readlines() if (err): print ('error:') print (err) #print (out) else: print (out) #执行完毕,终止连接 ssh.close() def ssh_linux_to_win(linuxpath, winpath): '''从Linux服务器下载文件到本地 Args: linuxpath: 文件在服务器上的路径及名字 winpath: 文件下载到本地的路径及名字 ''' client = paramiko.Transport((Host, Port)) client.connect(username=Username, password=Password) sftp = paramiko.SFTPClient.from_transport(client) sftp.get(linuxpath, winpath) client.close() print ('DownLoad file finished!') def ssh_win_to_linux(winpath, linuxpath): '''从windows向linux服务器上传文件 Args: winpath: 要上传的文件在本地的路径及位置 linuxpath: 文件要上传至服务器的路径及名字 ''' client = paramiko.Transport((Host, Port)) client.connect(username=Username, password=Password) sftp = paramiko.SFTPClient.from_transport(client) sftp.put(winpath, linuxpath) client.close() print ('UpLoad file finished!') if __name__=='__main__': ssh_exec_cmd(Command) #ssh_exec_cmd() #ssh_linux_to_win(LinuxPath, WinPath) #ssh_win_to_linux(WinPath, LinuxPath)
所需工具: Python3.4 paramiko模块 需要下载三个文件进行安装才能用: 1、安装pyCrypto http://www.voidspace.org.uk/python/modules.shtml#pycrypto 2、安装ecdsa https://pypi.python.org/pypi/ecdsa/0.9 3.安装paramiko https://github.com/paramiko/paramiko#, 安装步骤同ecdsa
这是我整理的python3.4.0安装包及以上所说的三个模块的安装包,可直接下载使用
相关文章推荐
- linux下各种格式的压缩包的压缩、解压方法
- Linux学习记录(13)RAID基本概念及操作
- linux下socket编程
- CentOS Linux使用crontab运行定时任务详解
- linux创建守护进程且进程中只有唯一实例
- Linux Network Programming Intro - Dual Network Card
- andrid linux kernel中植入一个文件节点
- Linux下iptables 禁止端口和开放端口
- linux创建守护进程--Daemon函数
- linux下创建守护进程01
- arm-linux-gcc(ubuntu)安装
- linux——创建用户及所属组总结
- CentOS5.x系统 配置YUM服务器
- linux:用户和组文件解释(/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow)
- Unix/linux学习笔记-------彻底理解管道
- Linux日志分析
- centos6 编译安装gcc4.8.2
- CentOS忘记root密码解决办法
- linux常用命令(67):echo 命令
- Linux备份还原