mac 堡垒机传文件
安装zssh
brew install zssh
上传文件
zssh登陆上跳板机
在跳板机上ssh到相应服务器
在服务器上cd至相应要放上传文件的目录
rz -bye //在远程服务器的相应目录上运行此命令,表示做好接收文件的准备
ctrl+@ //运行上面命令后,会出现一些乱码字符,不要怕,按此组合键,进入zssh
zssh > //这里切换到了本地机器
zssh > pwd //看一下本地机器的目录在那
zssh > ls //看一下有那些文件
zssh > sz 123.txt //上传本地机器的当前目录的123.txt到远程机器的当前目录
下载文件
sz filename //在远程机器上,启动sz, 准备发送文件,看到一堆乱码,不要怕,这会按下组合键
cd 切换到合适的目录
zssh > rz //接住对应的文件
原文:https://blog.csdn.net/shsdfhreh/article/details/73496515
用python脚本传 原文: https://blog.51cto.com/wutengfei/2176738
#!/usr/bin/env python
# coding=utf-8
from optparse import OptionParser
import paramiko
import os,sys,time
"""
这个脚本的作用是实现堡垒机模式下,文件上传
"""
parser = OptionParser()
parser.add_option('-j', '--jumperuser', dest='jumperuser', help='Company jumper machine account like wutengfei, ..')
parser.add_option('-u', '--username', dest='username', help='Target machine account like wutengfei, ..')
parser.add_option('-p', '--port', dest='port', help='Target machine port')
parser.add_option('-m', '--hostname', dest='hostname', help='Target machine ip address like 192.168.246.168')
parser.add_option('-l', '--localpath', dest='localpath', help="Client local file path like '/Users/test.py'")
parser.add_option('-d', '--destpath', dest='destpath', help="Jumper server file path like '/tmp/test.py'")
parser.add_option('-t', '--targetpath', dest='targetpath', help="remote server file path like '/tmp/test.py'")
(opts,args) = parser.parse_args()
#定义跳板机信息
jumpername = "jumper.shuju.com" # 跳板机ip/域名
jumperport = 22 # 跳板机ssh端口
paramiko.util.log_to_file('syslogin.log')
class JumperInfo(object):
"""
将文件从客户端上传至跳板机
"""
def __init__(self,username,localpath,destpath):
self.username = str(username)
self.localpath = str(localpath)
self.destpath = str(destpath)
def jumper_ftp(self,jumperuser,localpath,destpath):
private_key = os.path.expandvars('$HOME/.ssh/id_rsa')
private_key = paramiko.RSAKey.from_private_key_file(private_key)
t = paramiko.Transport(('jumper.shuju.com', 22))
t.connect(username=jumperuser, pkey=private_key)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put(localpath,destpath)
sftp.close()
passinfo='\'s password: '
class Jumper_put(JumperInfo):
"""
将跳板机上的文件上传至目标机
"""
def __init__(self,hostname,username,port,targetpath):
self.hostname = str(hostname)
self.username = str(username)
self.port = str(port)
self.targetpath = str(targetpath)
def jumper_scp(self,jumperuser,destpath,username,hostname,targetpath,port):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
privatekey = os.path.expandvars('$HOME/.ssh/id_rsa')
key = paramiko.RSAKey.from_private_key_file(privatekey)
ssh.connect(hostname='jumper.shuju.com', username=jumperuser, port=22, pkey=key)
channel = ssh.invoke_shell()
channel.settimeout(10)
buff = ''
resp = ''
channel.send('scp ' + ' ' + '-P' + ' ' + port + ' ' + destpath + ' ' + username + '@' + hostname + ':' + targetpath + '\n')
while not buff.endswith('$ '):
resp = channel.recv(9999)
if not resp.find(passinfo)==-1:
print 'Error info: Authentication failed.'
channel.close()
ssh.close()
sys.exit()
buff += resp
print buff
channel.close()
ssh.close()
def main():
jumper_ssh = JumperInfo(username=opts.jumperuser,localpath=opts.localpath,destpath=opts.destpath)
jumper_ssh.jumper_ftp(opts.jumperuser,opts.localpath,opts.destpath)
target_ssh = Jumper_put(hostname=opts.hostname,username=opts.username,port=opts.port,targetpath=opts.targetpath)
target_ssh.jumper_scp(opts.jumperuser,opts.destpath,opts.username,opts.hostname,opts.targetpath,opts.port)
if __name__ == '__main__':
if opts.jumperuser == None or opts.username == None or opts.hostname == None or opts.localpath == None or opts.destpath == None or opts.targetpath == None or opts.port == None:
parser.print_help()
exit(-1)
main()
mac 堡垒机传文件的更多相关文章
- 通过堡垒机上传文件报错ssh:没有权限的问题
背景描述 一台有公网IP的主机安装的有jumpserver,假设为A主机,另外几台没有公网ip的主机,假设其中一个为B主机. 操作 1.通过主机A的公网IP和端口等登录到jumpserver的管理员用 ...
- 跨越跳板机传文件nc
从线上服务器与本机互传文件 传输方 nc -l 10000 < a.tar 接收方 nc xx.xx.xx.xx 10000 >a.tar 原理: 文件传输方运行nc,指定端口,设置监听文 ...
- Mac 远程上传文件到 Linux
打开Mac自带终端: 在最顶端选择Shell ->新建远程连接: 选择sftp连接,填好服务器地址: 连接成功后.上传文件,使用 put 命令: put 本地文件路径 远程主机路径
- python3 实现堡垒机功能(并发执行命令及上传下载文件)
转载请注明出处,欢迎提出宝贵意见,谢谢! 功能介绍: 1.主机分组 登录后显示分组主机及主机数量 选择主机组后显示该主机组下所有主机信息,主机名及IP显示输入选择:1.执行命令利用线程并发组内所有主机 ...
- 本地Mac通过堡垒机代理实现跨堡垒机scp问题
近日,公司在跳板机前架设了堡垒机,以防止ssh攻击,但这带来一个问题,我们平常直接ssh跳板机,可以直接使用scp来上传或下载跳板机数据到本地 架设堡垒之后经常使用的scp工具不好用了 于是本期就来解 ...
- Mac/Linux/Centos终端中上传文件到Linux云服务器
1.mac上传文件到Linux服务器 scp 文件名 用户名@服务器ip:目标路径 如:scp /Users/test/testFile test@www.linuxidc.com:/test/ ...
- 关于mac 系统如何通过终端 连接linux服务器 并传文件!
首先要打开终端 mac远程链接服务器 输入 : ssh root@xxx.xx.xxx.xx xxx.xx.xxx.xx是端口号 后面会要求你输入password 即可远程连接 mac通过终端给 ...
- mac 命令行上传文件,mac tar.gz命令压缩
在mac上可以直接打开命令行给服务器上传文件,注意是本地的命令行,不是服务器的命令行,我就走了绕路 命令可以看这里https://www.cnblogs.com/hitwtx/archive/2011 ...
- windows获取本机MAC地址并写入文件的bat
windows获取本机MAC地址并写入文件的bat MAC(Media Access Control)地址,或称为 MAC地址.硬件地址,用来定义网络设备的位置. bat代码例如以下: @echo o ...
随机推荐
- AcWing 231. 天码 (容斥)打卡
题目:https://www.acwing.com/problem/content/233/ 题意:给你n个不同的数,让你选取一个四元组,gcd为1,让你求这样的四元组数量是多少 思路:我们单独直接去 ...
- windows7+tomcat7+nginx1.11.3 +memcached
测试的环境是windows7+tomcat7+nginx1.11.3 +memcached 安装方法网上很多就不多说了. 1.session共享需要这几个jar 包 下载地址 http://down ...
- 当前系统的CPU和内存的空闲百分比
设想我们有一个php页面A比较耗资源,因此在每次执行页面A中的代码前需要检测一下系统目前CPU和内存的空闲百分比.我们可以利用下面几个函数来解决这个问题 1 2 3 4 5 6 7 8 9 10 11 ...
- 模板引擎的简单原理template
var templateStr = "我的名字叫<%=name%>我是一只小狗,今年<%=age%>岁."; var data = { name:'旺财 ...
- #include和前置声明(forward declaration)
#include和前置声明(forward declaration) 1. 当不需要调用类的实现时,包括constructor,copy constructor,assignment opera ...
- Python编写购物小程序
购物车要求: 用户名和密码存放于文件中 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够 ...
- VIP视频下载终结器
youtube-dl: Youtube-dl是谷歌github上的一个开源项目,它是一款轻量级的命令行 下载实用工具,阿刚曾在乐软博客里文章<不仅仅是youtube,youtube-dl在线视频 ...
- UVA1595_Symmetry
给出平面上n个点,问你能不能找到一个竖线让他们对称 这道题后面发现真的不难,又不止一种方法 我当时写的很挫,死脑筋的就找一个点的对称点存不存在,用结构体存点信息,在排序用find找,,然后不知道一堆w ...
- java中接口的简单运用&java中的一些异常(运用myeclipse)
package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return& ...
- Cocos2d之运行Test项目
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 1. 打开Test项目 路径为 C:\Dev\cocos2d-x-3.8.1\build 2.设定cpp-tests为启动项(当cpp ...