ssh

一. 网址参考

  1.  SSH 教程(阮一峰)

  2. 利用SSH隧道技术穿越内网访问远程设备

  3.  sshpass使用

  4. sshpass调用ssh建立隧道不挂后台

  5. ssh端口转发:ssh隧道 (推荐)

  6. SSH的三种端口转发

  7. SSH登录过程 

  8. SSH原理与运用(一):远程登录(孙可)

二. 实际

  1. 内网穿越示例

nohup /usr/bin/sshpass -p "Fxxxx1357" /usr/bin/autossh -M 4000 -y -NR *:21013:localhost:22 -p 21012 fx@183.xxx.xxx.xxx &

    Fxxxx1357: 是sshd主机的ssh登录密码

    21012:是sshd主机的一个ssh登录端口,并且映射到外网的21012端口

   21013:  我的理解:这个21013好像是sshd主机的一个空闲的端口,并且映射到外网的21013端口

    fx: sshd主机的SSH登录用户名

   *:21013:localhost:22  : 表示本机回环接口(127.0.0.1,也可使用本机其他网络接口的地址,比如以太网 IP 或 WiFi IP)的 22 端口连接到远程主机的 21013 接口,因远程主机 21013 绑定的地址为空,所以远程主机会监听其所有网络接口的 21013 端口。
  其sshd主机的参数设置:/etc/ssh/sshd_config, 其内部监听了两个端口22和21012


  使用方法: 主机3可以通过ssh远程登录到demo板: ssh地址和端口----183.xxx.xxx.xxx 21013   

2. ssh本地端口转发测试  
  工作机A: 192.168.22.91
  中间机B: 192.168.22.71
目标机C(DEMO板): 192.168.22.121
需求:在工作机A上通过中间机B, 然后SSH登录目标机C
  实现:
    1)在工作机A上输入命令: ssh -f -N -L 23606:192.168.22.121:22 cjb@192.168.22.71 (其中cjb为192.168.22.71的ssh登录用户名),通过ss命令查看网络端口号:
      

      
    2)然后再工作机上输入命令: ssh -p 23606 root@localhost (其中root为目标机C 192.168.22.121的ssh登录用户名);
      后面会提示输入demo板的ssh用户root的登录密码

3. ssh远程端口转发测试:
  工作机A: 192.168.22.91   
  中间机B: 192.168.22.71
目标机C(DEMO板): 192.168.22.121
  需求:在工作机A上通过中间机B, 然后SSH登录目标机C; 
目的:通过工作机A通过内网穿越访问到C, A和C都可以访问B(可以带公网IP), 然后A通过B访问到C

  1) sshd设置(工作机B:192.168.22.71):/etc/ssh/sshd_config

 

 

 

 

  2. 在目标机C(192.168.22.121)上输入命令:

ssh -f -N -R 23606:192.168.22.121:22 cjb@192.168.22.71

       这样在中间机B(192.168.22.71)上看到端口号23606已被自动开启

 

  3. 在工作机A(192.168.22.91)上输入命令:

ssh -p 23606 root@192.168.22.71

    其中root为目标机192.168.22.121的ssh登录用户名,然后输入相应的ssh登录密码,则成功


  4. 如果在中间机B(192.168.22.71)上,、/etc/ssh/sshd_config中的参数GatewayPorts没有开启,可以通过ssh -L本地端口转发命令,摘录:
    (默认转发到远程主机上的端口绑定的是127.0.0.1,如要绑定0.0.0.0,需要打开sshd_config里的GatewayPorts选项。这个选项如果由于权限没法打开也有办法,可配合ssh -L将端口绑定到0.0.0.0,聪明的你应该能想到办法,呵呵)
    实际测试也是可以的,在192.168.22.71上输入命令:
ssh -L *:23506:localhost:23606 cjb@localhost

    这样输入到23506端口的数据则被转发到23606端口上,在工作机A(192.168.22.91)输入的命令跟前面稍微有点不一致,即-p 后面的端口号

ssh -p 23506 root@192.168.22.71  (上面3. 端口是23606)

 


  
posted @ 2021-10-09 15:47  shanyu20  阅读(71)  评论(0编辑  收藏  举报