zoukankan      html  css  js  c++  java
  • 实现SCP和SSH代理连接

         日常运维工作中,经常有这样的操作:登录国内中控(一级)--->>>登录海外中控(二级)---->>>登录游戏服务器(三级)。

    这样的操作非常繁琐,尤其是给目标服务器传文件时,稍不管理,中间登录的中控服务器就会挤压各种临时文件,使系统内文件分布混乱。
     
    那么,有没有办法直接从一级服务器登录到三级服务器,或上传文件呢?
    我们首先想到的办法是:配置网络代理或者写个脚本;脚本将文件上传到二级服务器,再通过session上传到三级服务器,完成后删除二级服务器文件缓存。
     
    其实,SSH和SCP命令可以通过自身参数配置成代理连接,主要使用ssh的ProxyCommand参数,参数值格式“ssh 二级服务器IP nc %h %p”
    从参数使用可以看出,内部主要使用nc命令在一级和三级服务器之间进行包转发。
     
    注意:ssh key信任,要进行调整,因为代理的缘故,三级服务器接收到的是一级服务器请求,所以要将一级服务器的公钥,配置到三级服务器authorized_keys文件
     
    配置实例:
      1. 服务器ip:
        1. 一级服务器:10.34.10.10
        2. 二级服务器:10.34.11.11
        3. 三级服务器:10.34.12.12
      2. 密钥信任关系:11信任10;12信任11;12信任10
      3. 实现:登录到一级服务器,通过ssh或scp,登录到三级服务器
      4. 拷贝数据:
        scp -o proxycommand="ssh 10.34.11.11 nc %h %p" ./testfile.txt 10.34.12.12:/root/
      5. 登录服务器:
        ssh -o proxycommand="ssh 10.34.11.11 nc %h %p" 10.34.12.12
  • 相关阅读:
    http 事务
    URI、URL、URN
    媒体类型(MIME类型)
    资源
    WEB客户端和服务器
    如何解决新浪微博返回结果中的中文编码问题
    新浪微博 使用OAuth2.0调用API
    新浪微博 授权机制研究
    hmac库 密钥相关的哈希运算消息认证码
    ValueError: Expecting property name: line 1 column 1 (char 1)
  • 原文地址:https://www.cnblogs.com/ivistn/p/2748471.html
Copyright © 2011-2022 走看看