小菜运维仅仅只是一位菜鸟运维
废话不多说,小菜运维最近又完成了一套外包项目开发,现在准备将项目部署到甲方购买的阿里云服务器上。因为甲方是集团型大企业,又有自己的运维团队,很多规章制度比较规范,部署的时候要求通过跳板机/堡垒机登录阿里云内网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)方式 则需要为每一台远程服务器添加一个单独的隧道才可以。
如果按照以上步骤操作仍然不能正常访问,那么……建议你联系你的堡垒机管理员,可能是堡垒机帐号/凭据/权限等的设置没有给足你权限。
附-参考文档:
阿里云·堡垒机
阿里云·透明代理
总结一下就是
为 跳板机 创建隧道,为服务器创建代理,隧道和代理的端口要一致.
前提假设:
跳板机 主机地址为:A
待登录服务器 主机地址为:B
step 1、新建跳板机A会话
1)连接
名称:任意取(如:跳板机)
主机:填写跳板机IP或跳板机服务器名称
2)用户身份验证
填写跳板机A的用户名和密码
3)ssh-隧道建立
类型:Dynamic(SOCKS4/5)
侦听端口:可以自己设置,但必须与待连接服务器的配置一致,如此处假设侦听端口为1080
新建好跳板机会话后连接跳板机
step 2、新建待连接服务器B会话
1)连接
名称:任意取
主机:待连接服务器主机IP或者名称
2)用户身份验证:
填写待连接服务器B的用户名和密码
3)代理
添加代理服务器:
名称:任意取
类型:SOCKS5
主机:(一定是)localhost
端口:设成与上面step 1中隧道中填写的端口一样的端口,如上面填的是1080,此处也要填1080
配置完成后点确定。
总结:
step 1中的三小步完成后连接跳板服务器。连接上跳板服务器后,step 2中的三小步完成后连接待连接的服务器。
之后的登录:1、先连接跳板服务器,2、再连接待登录服务器。
仅供参考,误喷!
今日内容
1.什么是SSH
SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全
2.SSH的主要功能是什么
1.提供远程连接服务器的服务
2.对远程连接传输数据进行加密
3.SSH与Telnet之间有什么关系
4.抓包分析ssh与telnet的区别
telnet使用在交换机 路由器 防火墙 等这类设备上
ssh 使用在服务器邻域
5.SSH相关客户端指令ssh scp sftp
客户端可以使用的命令:
ssh:用来连接远程Linux服务器(xshell底层,调用的就是ssh命令)
scp:远程拷贝,全量拷贝(每次拷贝都是全量)
sftp:远程传输
6.SSH远程登录方式,用户密码 密钥方式
用户密码:简单容易被破解、复杂记不住
基于密钥的方式来实现:
生产一对拥有数学关系的密钥对(公钥、私钥)
公钥加密,私钥解密。
公钥可以对外提供,对外开放。
私钥只有自己持有,不对外开放
7.密钥方式的实现案例
8.SSH场景实践,借助SSH免秘实现跳板机功能?
9.SSH远程连接功能安全优化?
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)