场景:

场景.png
方式一操作步骤
1 通过用户名密码连接跳板机111.111.5.53
1.1正常连接跳板

正常连接跳板.png
1.2 同时在跳板机的连接上配置隧道

跳板机登录时配置隧道.png
2 在本地的Windos机器上生成免密公钥上传到内网服务器 192.168.1.63 上。
2.1 生成秘钥对
右键桌面,打开本地的git客户端工具(没有的话可以去这里下载:https://git-scm.com/downloads/win,或者自行某度安装OpenSSH)

git客户端工具.png
### 生成秘钥对,其中id_rsa是私钥需要妥善保存,id_rsa.pub后续需要copy到需要免密登录的远程机器上
### 执行以下命名后,后面一直连续按回车键(不用设置密码,但是不嫌麻烦也可以设置密码,后面通过Xshell配置Public Key登录的时候需要用密码,此处测试就不设置密码了)
### 生成密钥对(默认保存到 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub)
ssh-keygen -t rsa -b 4096
2.2 拷贝公钥到目标服务器192.168.1.63
把公钥文件id_rsa.pubcopy到需要免密登录的内网机器192.168.1.63上:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.63
以上命令需要输入目标机器的密码,如果没有内网机器 192.168.1.63 的root账号密码但是可以通过其他VPN且用root登录进去的话,也可以手工直接copyid_rsa.pub公钥的内容追加到 192.168.1.63 的 ~/.sshauthorized_keys中
# 在自己的本地127.0.0.1机器上执行
[root@~]# cat ~/.ssh/id_rsa.pub
# 这里是在本地127.0.0.1机器上查看自己的公钥
ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB。。。。。。KEmnl+65ol1xtc= root@ecs-abcd
#把以上内容追加copy到需要访问的内网目标机器192.168.1.63 ~/.sshauthorized_keys文件中
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB。。。。。。KEmnl+65ol1xtc= root@ecs-abcd" >> ~/.sshauthorized_keys
3 Xshell连接测试
3.1 通过127.0.0.1:10022连接内网机器

通过127.0.0.1:10022连接内网机.png
3.2 配置Pulic Key方式登录

通过127.0.0.1:10022连接内网机.png
3.3 配置选择自己私钥

通过Public key登录.png
通过以上设置,如果全部正常的话,就已经可以正确的访问到内网了,如果登录内网失败,就可以在本地机器上执行以下命令先测试一下:
ssh -p 10022 root@127.0.0.1
要点
- 此处跳板机连接后,
不能够关闭 - 通过隧道开启端口,默认情况下,一个本地端口(如 10022)只能转发到一台内网机器的 22 端口。如果需要通过跳板机同时连接多台内网机器(如 11.11.11.12、11.11.11.13 等)需要多配置不一样的端口。
方式二操作步骤
1 在跳板机上生成免密公钥上传到内网服务器 192.168.1.63 上 (记得此处是在跳板机上执行)
直接参考方式一中的步骤2 《
2 本地生成免密公钥上传到远程服务器》,此处省略不再赘述...
2 通过用户名密码连接跳板机111.111.5.53
2.1正常连接跳板

正常连接跳板.png
2.2配置登录脚本

配置登录脚本1.png
2.3新增脚本

新增脚本.png
这里的 Last login需要根据实际情况更改,只要登录后屏幕上出现过的任何字符都可以。
通过以上设置,如果全部正常的话,就已经可以正确的访问到内网了,如果登录内网失败,就
在跳板机上执行以下命令 先测试一下:
ssh -p 22 root@192.168.1.63
其他说明:
1、生产环境,也有部分是通过堡垒机登录后,通过上下键选择了,然后按Enter键进入服务器的。

生产环境堡垒机.png
此处贴出部分参考脚本。

生产环登录脚本.png
其中
1.
[Search] : 为堡垒机出现的字符,2.
\033[B : 代表模拟一次按键盘上的 "↓" 键,3.
\r: 为模拟按回车键。
2、其他参考(内网机器太多后,可以通过搜索然后回车确认再登录):
| Expect | send | 说明 |
|---|---|---|
| Please input | /i:13.111.111.24# | 选择需要登陆的服务器 |
| 13.111.111.24 | \r | 服务器展示可以登陆的服务器然后回车确认登录 |
| [ssh:22] | 1 | 使用root登陆 |

其他参考.png