SSH相关

作者: 夜清溟 | 来源:发表于2021-07-28 15:25 被阅读0次

1、绕过ssh初次建立连接时的询问命令方法 - Are you sure you want to continue connecting (yes/no)?
使用 -o "StrictHostKeyChecking no" 选项
如 ssh app@192.168.16.248 -o "StrictHostKeyChecking no"

2、openssh的ProxyCommand功能
我们的服务器是在阿里云上的,所有业务服务器在一个内部局域网里,其中有一台服务器有公网ip,且能与内网服务器通信建立连接。jenkins是在公司的内网里,无法直接通过ssh发布更新。因此想通过这台公网服务器发布jenkins。

进行如下配置:
本地服务器修改ssh别名
vim ~/.ssh/config 没有的就创建

Host tiaoban
 Hostname 有公网ip服务器的ip
 Port 公网服务器的ssh端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
Host mubiaoji
 Hostname 目标机的IP
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)

jenkins公钥添加到公网服务器以及内网服务器中。

此时如果想要jenkins向内网服务器发文件通过如下命令:

scp -o "StrictHostKeyChecking no" -oProxyCommand="ssh -W %h:%p tiaoban" ./a.txt mubiaoji:/root/

如果想要执行内网服务器里的发布脚本,则通过如下命令:

ssh -o "StrictHostKeyChecking no" -oProxyCommand="ssh -W %h:%p tiaoban" mubiaoji "/root/scripts/deploy.sh"

3、使用openssh的ProxyCommand功能从本地服务器透过有公网的服务器登录内网服务器。
首先在本地服务器配置ssh别名,进行如下配置:

vim ~/.ssh/config 没有的就创建

Host tiaoban
 Hostname 有公网ip服务器的ip
 Port 公网服务器的ssh端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
Host mubiaoji
 Hostname 目标机的IP
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
 ProxyCommand ssh -q -x -W %h:%p tiaoban

这儿的%h表示要连接的目标机,也就是Hostname指定的ip或者主机名,%p表示要连接到目标机的端口.这儿可以直接写死固定值,但是使用%h和%p可以保证在Hostname和Port变化的情况下ProxyCommand这行不用跟着变化.
接下来直接在服本地服务器上连接内网服务器即可成功。

ssh mubiaoji

说明:
使用ssh的ProxyCommand,我们可以方便的透过跳板机进入到环境里面的机器. 实际上,我们可以不止跳过一层跳板机,通过不断的累加跳板机和ProxyCommand,理论上我们可以透过任意层数的跳板机. 如下就是两层跳板机的配置.

Host tiaoban1
 Hostname 跳板机的ip
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
Host tiaoban2
 Hostname 跳板机的ip
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
 ProxyCommand ssh -q -x -W %h:%p tiaoban1
Host mubiaoji
 Hostname 目标机的IP
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
 ProxyCommand ssh -q -x -W %h:%p tiaoban2

当我们可以登录到环境之后,我们就可以搭配上-L(本地转发),-R(远程转发),-D(动态转发)方便从环境里面进出以及登录环境里面的各种WEB界面了。

参考原文:
https://cikeblog.com/proxycommand.html

相关文章

  • SSH相关

    如何在Linux上检查SSH版本http://www.linuxidc.com/Linux/2015-01/111...

  • ssh相关

    crm练习 课程内容 课程目标 用户模块 功能一:用户注册功能 功能二:用户登录功能 功能三:用户退出功能 客户模...

  • ssh相关

    查看系统ssh安全登录日志 重启sshd服务 配置本地ssh免密登录使用ssh-copy-id将本地的ssh-ke...

  • SSH相关

    1、绕过ssh初次建立连接时的询问命令方法 - Are you sure you want to continue...

  • 2018-01-04 技术笔记

    centos 7 ssh 服务相关知识 openssh查看ssh是否按照 查看ssh运行状态 查看端口监听状态 添...

  • CentOS 修改 SSH 远程登录配置

    一、SSH 远程登录相关配置文件 /etc/ssh/sshd_config修改内容: (1) 修改 SSH 远程登...

  • Mac中用到的SSH相关命令记录

    SSH相关 登录SSH服务器 ssh username@ip -p 端口 直接复制SSH服务器上的数据到本地 SC...

  • SSH相关命令

    该文章主要是摘抄整理所得 ssh命令 ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现...

  • ssh相关知识

    基本用法 ssh user@hostssh -p 2222 user@host 指定端口主要原理:(1)远程主机收...

  • SSH KEY相关

    检查SSH key是否已经存在 进行检查id_rsa.pub(生成的ssh key名字)是否存在,如果存在, 就不...

网友评论

      本文标题:SSH相关

      本文链接:https://www.haomeiwen.com/subject/morpmltx.html