用密钥方式让通过JumpServer代理的服务器可以在我本地电脑直接访问
用密钥方式让通过JumpServer代理的服务器可以在我本地电脑直接访问
有的时候, 服务器都会被JumpServer代理, 但我们需要通过本地直连服务器(当然前提是网络能通, 不能通的情况下, 其实也可以用ssh的ProxyJump功能实现无感连接1), 去使用一些高级功能, 例如让vscode连接进行远程开发等
- 生成SSH密钥对
在本地电脑生成SSH密钥对(若已有可跳过):
ssh-keygen -t ed25519 -C "your_email@example.com"
# 一路回车就行
- 将公钥上传至JumpServer
a. 登录JumpServer Web界面(默认地址:http://<JumpServer服务器IP>:<端口>,用户名:xxx)。
b. 进入 目标服务器, 获取IP, 备用
c. 将本地生成的密钥对中的公钥写入到目标服务器
具体执行以下命令
# 查看生成的公钥(本地电脑执行)
cat ~/.ssh/ed25519.pub
# 将公钥写入ssh认证key文件中(目标服务器执行)
echo "ed25519 xxx your_email@example.com" >> ~/.ssh/authorized_keys
本地电脑添加ssh config
# 编辑ssh config文件
vi ~/.ssh/config
# 写入以下内容到ssh config中
Host test.intranet.company
# 上面获取的目标服务器的ip
HostName 10.0.1.94
User root
IdentityFile ~/.ssh/id_ed25519
测试ssh连接是否已经实现了免密登录(PS: 如果已知密码可以使用另一种简便方式2)
ssh test.intranet.company
至此, 就已经能够通过ssh免密登录到被JumpServer代理的服务器了
ssh config自定义配置跳板机 ↩︎
使用 SSH 密钥对方式 ↩︎