ssh操作服务器
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 20 10:15:16 2019 @author: Kuma 1、
ssh连接服务器 2、
scp获取安装脚本及安装包
1)sftp传输 3、
执行安装脚本 """ import paramiko #pip3 install paramiko
import logging class sshOperate(): def __init__(self):
#创建SSHClient对象
self.ssh = paramiko.SSHClient() def sshLogin(self, ip, username, password):
try:
#允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面
self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 建立连接
self.ssh.connect(ip,port,user,password,timeout = 10)
except paramiko.AuthenticationException:
logging.warning("username or password error")
return 1001
except paramiko.ssh_exception.NoValidConnectionsError:
logging.warning("connect time out")
return 1002
except:
logging.warning('unknow error')
print("Unexpected error:", sys.exc_info()[0])
return 1003
return 1000 def executeCommand(self,command):
#执行命令,输出结果在stdout中,如果是错误则放在stderr中
stdin, stdout, stderr = self.ssh.exec_command(command)
print(stdout.read().decode()) def sftp(self, ip, user, passwd):
transport = paramiko.Transport((ip, 22))
transport.connect(username=user, password=passwd)
sftp = paramiko.SFTPClient.from_transport(transport)#如果连接需要密钥,则要加上一个参数,hostkey="密钥"
sftp.put('clear_reload_1.5.sh', '/home/user/clear_reload_1.5.sh')
#sftp.put('jcf-platform-1.5.2-20190315-RUN.tar.gz', '/home/user/exefile') #大文件传的太慢了
transport.close()#关闭连接 def sshLogout(self):
#logging.warning('logout')
#断开连接
self.ssh.close() if __name__ == '__main__':
# 服务器相关信息,下面输入你个人的用户名、密码、ip等信息
#ip = "10.xxx.xx.xxx"
#port = 22
user = "user"
#password = "passwd"
shFile = "shFile"
exeFile = "exeFile"
ipDict = {
"10.xxx.xxx.xxx" :"passwd"
} mySsh = sshOperate()
for ip, password in ipDict.items():
mySsh.sshLogin(ip, user, password)
mySsh.sftp(ip, user, password)
mySsh.executeCommand("chmod 777 " + shFile)
#mySsh.executeCommand("./" + shFile + " " + exeFile)
mySsh.sshLogout()
ssh操作服务器的更多相关文章
- 使用PSSH批量SSH操作Linux服务器
http://www.opstool.com/article/266 服务器多了,有一个烦恼就是如何批量快速操作一堆服务器.这里我推荐一下经常使用利器pssh.这个工具给我的工作带来了莫大的帮助. 简 ...
- Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载
Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载 2018年5月26日 19:03 阅读 375 评论 7 我本地和服务器的连接一直使用的是 Xshell 5,而在与服务 ...
- Linux基础知识第六讲,远程管理ssh操作
目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...
- 【转帖】远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)
远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm) https://zhuanlan.zhihu.com/p/310 ...
- ssh连接服务器
1.命令行操作 第一步输入 :ssh 用户名@服务器外网ip 第二步:输入密码,回车 看到welcome提示信息即为登陆成功 输入:exit 退出 2.客户端操作 windows下载ssh软件,安装 ...
- 远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)
在做 数据分析(数据挖掘 或 机器学习)的时候,我们经常需要绘制一些统计相关的图表,这些统计.绘图的程序常常是跑在服务器上的,可是服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,于是这些统计 ...
- Mac上使用ssh连接服务器title显示服务器的ip
Mac上使用ssh连接服务器title显示服务器的ip 使用Mac开发时,管理的服务器过多时,会搞混乱.可能有时啪啪啪一顿操作,最后发现操作错了机器. 解决方案 在远程服务器上,编辑vim /etc/ ...
- paramiko模块(远程操作服务器)
paramiko模块(远程操作服务器) django+paramkio实现远程某些服务器执行命令+上传文件 用于帮助开发者通过代码远程连接服务器,并对服务器进行操作. pip3 install par ...
- Mac 无密码 SSH 登录服务器
Mac 无密码 SSH 登录服务器,只需要简单三步,不再需要记住账号密码,快速进入服务器 第一步,生成密钥对 在当前用户下创建.ssh目录 mkdir ~/.ssh 使用命令ssh-keygen生成密 ...
随机推荐
- JAVA入门[23]-SpringBoot配置Swagger2
一.新建SpringBoot站点 1.新建module,然后引入pom依赖: <parent> <groupId>org.springframework.boot</gr ...
- 收藏的博客 -- Qt/C++学习
Qt Creator环境: 使用Qt Creator作为Linux IDE,代替Vim:实现两台Linux电脑远程部署和调试(一台电脑有桌面系统,一台电脑无桌面系统) 使用Qt Creator作为Li ...
- python -- 字符串 for循环
1.基本数据类型概况 1.int 整数 ==>主要用来做数学计算 2.str 字符串 ==> 可以保存少量数据并进行相应的操作. (字符 ...
- 浏览器关闭,onunload和onbeforeunload的使用
系统描述:用户与管理员客服聊天,当用户在五分钟之内不说话,则客服会在5分钟后断开.当直接关闭浏览器页面时,后台管理员就无法检测到这种状态,此用户无法从管理员的服务列表里面清除 onunload和onb ...
- windows cmd 查找/关闭端口
1.首先查找端口,会显示出所有的端口,比如说要找到端口为“8888”的PID netstat -ano 2.还可以精确查找 netstat -aon|findstr " 3.关闭对应的端口 ...
- INSERT INTO SELECT
今天遇到一个问题在写把查询的数据添加到一个表里时出现问题 sql INSERT INTO db1_name(field1,field2) VALUES SELECT field1,field2 FR ...
- angular-cli.json常见配置
{ "project": { "name": "ng-admin", //项目名称 "ejected": false / ...
- 北航OO第一单元总结
我本着公平公开公正的态度作出以下评价: 1.面向对象真的很修身养性 2.有一个好的身体非常重要 3.互相hack可以暴露人的阴暗面 好了,步入正题. 一.作业分析 1.第一次作业分析 1.1类图 1. ...
- Judy Beta 第八天
Progress 人员 今日进展 明日任务 前端 Manli Shu, Yuechen Wang 测试发现了比如嵌套块和多文件断点的bug 进行测试和回归测试 后端 Zhiqi Lin, Yu Xin ...
- Python随笔--代理ip