跳板机上传文件
❶ “Xshell”Xshell跳板机通过隧道连接远程服务器
小菜运维仅仅只是一位菜鸟运维
废话核乱慎不多说,小菜运维最近又完成了一套外包项目开发,现在准备将项目部署到甲方购买的阿里云服务器上。因为甲方是集团型大企业,又有自己的运维团队,很多规章制度比较规范,部署的时候要求通过跳板机/堡垒机登录阿里云内网ECS。虽然说跳板机很有必要也应该这样做,但奈何愿意这样做的客户是少之又少,这次是撞上大客户啦!
小菜运维平时都是使用的Xshell、Xftp管理服务器,这次通过跳板机登录内网ECS时不断输入密码,还不能直连内网ECS上传文件,操作了几次小菜运维就忍不住要口吐芬芳了,终于决定用Xshell的隧道来彻底解决一下这个效率低下、重复体力劳动的问题了!
Xshell的隧道转发类型共有三种,这里我们不展开介绍各自的应用场景,大家可以自行了解,我们这里选用的是Dynamic,可以实现自动连接内网ECS,也可直接连接FTP,但是前提是必须先连接跳板机建立起隧道,然后再连接内网ECS
隧道类型:
Local(Outgoing)
Dynamic(SOCKS4/5)
Remote(Incoming)
1. 连接跳板机
1.1 建立到跳板机的会话
Xshell选择新建会话,点击左侧 连接 ,在 常规 栏依次填入会话名称、跳板机IP、跳板机端口,然后依次完成 用户身份验证 、 登录脚本 设置,这里需要强调的一点是,务必记得设置 登录脚本 以保证隧道的长连接,避免因隧道的断开而导致后续其他远程目标机器的连接失败,具体操陪宽作如下图:
1.2 建立跳板机隧道
在上一步的对话框中,继续点击左侧 隧道 - 添加 ,在弹出的转移规则对话框中完成规则设置,这里要强调的是 源主机 是指你当前建立隧道连接的本地机器,一般填入 localhost 或 127.0.0.1 即可,而 目标主机 则是指你要远程连接的远程服务器,具体配置信息如下图:
2. 建立远程主机连接
2.1 建立到远程主机的会话
Xshell选择新建会话,点击左侧 连接 ,在 常规 栏依次填入会话名称、本机/本地IP、本机/本地监听端口,然后依次完成 用户身份验证 设置,这里需要强调的一点是,务必记得这里设置的连接主机地址 1.2 中设置转移规则时填写的 源主机 地址,而不是远程服务器的IP地址,同样的,这里设置的端口号也是 1.2 中设置转移规则时填写的 侦听端口 ,但是 用户身份验证 需要填写远程服务器的用户信息。具体操作如下图:
3. SSH/SFTP到远程服务器
自动连接远程服务器的前提是先连接到跳板机/堡垒机,然后再连接到远程服务器。
在Xshell中双击已建好的到堡垒机的会话,待成功完成登录后,再双击已建好的到远程服务器的会话改敬,这时我们可以看到Xshell自动实现了登录远程服务器操作,这时在Xshell已登录的远程服务器页面,点击顶部工具栏的 新建文件传输 按钮,Xshell将自动打开Xftp并自动登录远程服务器的Xftp文件管理页面;
1. 连接跳板机
1.1 建立到跳板机的会话
这里和 Local(Outgoing)方式 的步骤完全相同,可参照之前步骤操作。
1.2 建立跳板机隧道
这里和 Local(Outgoing)方式 的区别在于转移规则的配置,具体配置信息如下图:
2. 建立远程主机连接
2.1 建立到远程主机的会话
这里和 Local(Outgoing)方式 的区别在于主机和端口号的配置,这里的主机和端口号都是配置的远程服务器的, 用户身份验证 同样还是需要填写远程服务器的用户信息。具体操作如下图:
2.2 建立到远程主机会话的代理
在上一步 2.1 建立到远程主机的会话 的对话框左侧,点击 代理 ,然后浏览并添加代理服务器,这里我们代理服务器设置的就是本地机器,要注意的是这里 代理服务器的监听端口必须和1.2中隧道转移规则设置的侦听端口保持一致 ,具体配置如下图:
3. SSH/SFTP到远程服务器
这里和 Local(Outgoing)方式 的步骤完全相同,可参照之前步骤操作。
基于隧道可以简化很多体力操作,感觉起来就好像堡垒机不存在一样,实际操作中推荐使用 Dynamic(SOCKS4/5)方式 ,因为Dynamic(SOCKS4/5)方式对于跳板机后有多台远程服务器需要连接的场景只需要配置一次隧道和代理,之后就可以直接添加到远程服务器的会话就可以了;而 Local(Outgoing)方式 则需要为每一台远程服务器添加一个单独的隧道才可以。
如果按照以上步骤操作仍然不能正常访问,那么……建议你联系你的堡垒机管理员,可能是堡垒机帐号/凭据/权限等的设置没有给足你权限。
附-参考文档:
阿里云·堡垒机
阿里云·透明代理
❷ 怎么把本地文件通过跳板机FTP到一台LINUX服务器上面去
假设要访问机器dev,则必须先ssh到跳板机gateway,然后再ssh到dev机器 可以使用ssh config中的ProxyCommand定义主机dev的连接参数,ProxyCommand ssh -q -W %h:%p gateway 这样,ssh dev 命令就会先和gateway建立ssh连接,并把这个中间连接当作一个代理使用
❸ 什么是跳板机
如果控制机与受害机直接相连,设想,如果这时受害机已经查出是是哪一台机子发出的Dos时,就会把黑客自己的身份暴露。那如果在受害机察觉以前把控制机的“脚印”全部删除不就可以了?如果你只想攻击受害机一次,那么有无跳板机都可,但如果你想多次攻击受害机,那么你每次都要把自己控制机上的“脚印”删除的干净(包括相关的原代码),这样当你下次要想再攻击受害机时,等于是要重新再建立攻击过程。如果中间有一个跳板机,那么你只需要如在跳板机上的“脚印”删除即可,这样受害机当查到跳板机时,线索就断开了。所以有一个跳板机的作用会使黑客自己本身更加安全。通常DOS攻击是作为入侵者入侵他人系统的一种方法,很少单独使用。入侵的思路就是:目标机发送大量无用的数据,使目标机疲于对付这些无用数据,而造成系统的迟钝缓慢,这就犹如“一心不能两用”一样,这样,入侵者就可以在潮水般的攻击中混骗过入侵检测系统。入侵的方法由以下几种:1、SYN 洪水攻击 利用服务器的连接缓冲区(Backlog Queue),利用特殊的程序,设置TCP的Header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。 如果你的SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求了。其他合法用户的连接都被拒绝掉。可以持续你的SYN请求发送,直到缓冲区中都是你的只有SYN标记的请求。 这种方法的好处就在于,不用事先去探测别人的IP,直截了当的去占领缓冲区,方法比较简单,但是由于利用的是自己的IP,所以身份比较容易暴露,在使用这种攻击思路时,对自己的主机的隐蔽性一定要做好,最简单的方法就是多使用几台傀儡机,但是在入侵后,对傀儡机的痕迹清扫也随之变得复杂而麻锁。2、IP欺骗DOS攻击 这种攻击利用RST位来实现。假设现在有一个合法用户(1.1.1.1)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1.1.1.1,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从1.1.1.1发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击时,伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务。这种方法的好像就是不易被主机发现,但是缺点就在于要事先知道该主机的一个合法用户的IP地址,有时还要知道IP地址对应的端口号。而在大部分的合法客户的IP地址都是随机的,所以如果每次都想用同一个用户的IP很难做到,所以每次都要进行IP合法用户探询。 3、 带宽DOS攻击 如果你的连接带宽足够大而服务器又不是很大,你可以发送请求,来消耗服务器的缓冲区消耗服务器的带宽。这种攻击就是人多力量大了,配合上SYN一起实施DOS,威力巨大。 这种方法是比较初级DOS攻击,显然并不试用于攻击大型的服务器。随着宽带的不断提高,与计算机的越来越好,使得计算机有足够的能力来对付这种攻击,这种方法已经开始不试用了。4、自身消耗的DOS攻击 这种DOS攻击就是把请求客户端IP和端口弄成主机的IP端口相同,发送给主机。使得主机给自己发送TCP请求和连接。这种主机的漏洞会很快把资源消耗光。直接导致死机。这中伪装对一些身份认证系统还是威胁巨大的。这种攻击的方式,它的伪装比较好,俗话说“最危险的地方就是最安全的地方”,也正是因为入侵者利用的服务机自身的IP,使得服务器自身很难找到入侵者是谁,这种攻击的方法最终都是因为“死锁”而造成死机的。上面这些实施DOS攻击的手段最主要的就是构造需要的TCP数据,充分利用TCP协议。这些攻击方法都是建立在TCP基础上的。还有其他的DOS攻击手段。 5、塞满服务器的硬盘 通常,如果服务器可以没有限制地执行写操作,那么都能成为塞满硬盘造成DOS攻击的途径,比如: 发送垃圾邮件。一般公司的服务器可能把邮件服务器和WEB服务器都放在一起。破坏者可以发送大量的垃圾邮件,这些邮件可能都塞在一个邮件队列中或者就是坏邮件队列中,直到邮箱被撑破或者把硬盘塞满。 让日志记录满。入侵者可以构造大量的错误信息发送出来,服务器记录这些错误,可能就造成日志文件非常庞大,甚至会塞满硬盘。同时会让管理员痛苦地面对大量的日志,甚至就不能发现入侵者真正的入侵途径。 向匿名FTP塞垃圾文件。这样也可以塞满硬盘空间。总之,拒绝服务一般都是通过过载而导致服务器死机的,而过载一般是因为请求到达了极限。TCP是一种面向连接的协议,所以它采用了多种服务机制来保证连接的可靠性,如:流量控制、拥塞控制,一旦出现数据流量过大所产生的拥塞就会使服务器拒绝客户提出的连接请求。正是因为TCP的这种拒绝机制,给Dos有了可乘之机。试想,如果有客户大量的向服务器扔送无用的数据报文段,使服务器因为数据流的过多,而拒绝了超过了它上限值的以外的数据。从而导致其它真正的想使用服务器的客户被拒之门外,就会造成不必要的浪费。这也就是Dos的核心内容了。步骤A:首先,攻击者利用自己的控制机找到一个跳板机,向跳板机发出受害机的命令参数。至于发了哪些命令参数将在Dos的编辑过程做解释。步骤B:跳板机收到控制机的命令后,向受害机大量发送无用数据报文段,使得受害机疲于应付那些无数数据
❹ 推荐 20 个堪称神器的命令行工具
优质文章,第一时间送达!
1.ag:比 grep、ack 更快的递归搜索文件内容。
2.tig:字符模式下交互查看 git 项目,可以替代 git 命令。
3.mycli:mysql 客户端,支持语法高亮和命令补全,效果类似 ipython,可以替代 mysql 命令。
4.jq: json 文件处理以及格式化显示,支持高亮,可以替换 python -m json.tool。
5.shellcheck:shell 脚本静态检查工具,能够识别语法错误以及不规范的写法。
6.yapf:Google 开发的 python 代码格式规范化工具,支持 pep8 以及 Google 代码风格。
7.mosh:基于 UDP 的终端连接,可以替代 ssh,连接更稳定,即使 IP 变了,也能自动重连。
8.fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端 ctrl-r 历史 命令搜索简直完美。
9.PathPicker(fpp):在命令行输出中自动识别目录和文件,支持交互式,配合 git 非常有用。
运行以下命令:
10.htop: 提供更美观、更方便的进程监控工具,替代 top 命令。
11.axel:多线程下载工具,下载文件时可以替代 curl、wget。
12.sz/rz:交互式文件传输,在多重跳板机下传输文件非常好用,不用一级一级传输。
13.cloc:代码统计工具,能够统计代码的空行数、注释行、编程语言。
14.ccache:高速 C/C++编译缓存工具,反复编译内核非常有用。使用起来也非常方便:
改成:
15.tmux:终端复用工具,替代 screen、nohup。
16.neovim: 替代 vim。
17.script/scriptreplay: 终端会话录制。
回放:
18.you-get: 非常强大的媒体下载工具,支持 youtube、google+、优酷、芒果 TV、腾讯视频、秒拍等视频下载。
还有 mac 专有的 pb/pbpaste:
把命令行输出拷贝到系统粘贴板:
把系统粘贴板内容拷到终端:
mac 下的 say 命令支持多种语言(英语、普通话、粤语)文本朗读,支持各种销魂恐怖的语气。跑这个命令感受下,小心被吓着了:
19.thefuck:用途是每次命令行打错了以后,打一句 fuck 就会自动更正命令。比如 apt-get 打成了 aptget。fuck 以后自动变成 apt-get。但还是没加 sudo。再 fuck,成功!
又比如 git branch 打成了 git brnch。fuck!更正成 git branch。
又比如 python 打成了 puthon。fuck!一秒变 python。
而且关键是每次打命令和内心 os 完全一致,有种人机合一的快感。fuck!
20.tldr: 如果你经常不想详读 man 文档,那么你应该试试这个小工具。
使用 $ man tar 时
使用 $ tldr tar 时