想通过jumpserver跳板机连我的公司服务器发现一直报错

你好我现在公司打算用jumpserver管理整个集群,每个人登录服务器前需要输入jumpserver 账户密码-> OTP-> linux服务器用户 ssh key的密码,但我现在配置发现并不能ssh成功
我的配置
Host jump
HostName xx.xx.xx.xx
Port 2222
User yang
PreferredAuthentications keyboard-interactive,password
ForwardAgent yes

Host production
HostName xx.xx.xx
User yang
ProxyJump jump
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
PreferredAuthentications publickey
RequestTTY no
ForwardAgent yes

当我 运行ssh production的时候,输入完jumpserver 密码和otp后会报错

acblacktea@acblackteas-MacBook-Air ~ % ssh production

yang@100.74.113.95’s password:

yang

Please Enter MFA Code.

(yang@100.74.113.95) [OTP Code]: 023346

channel 0: open failed: administratively prohibited: port forwarding is disabled

stdio forwarding failed

Connection closed by UNKNOWN port 65535

这个报错是因为 JumpServer禁用了端口转发功能,而ProxyJump是依赖SSH的端口去实现转发能力,所以会导致跳转失败

(帖子已被作者删除)

解决方法:

第一步:在JumpServer中开启端口转发权限,并重启一下服务

第二步:修改一下配置文件

跳板机配置,要添加以下一条命令

(RequestTTY yes)#表示强制开启TTY,让JumpServer的OTP进行交互

#JumpServer的OTP验证需要交互终端,如果RequestTTY no会导致OTP输入无响应

生产机配置,改用jumpserver支持的跳转方式

ProxyCommand ssh -o “RequestTTY=yes” jump -W %h:%p #带终端连JumpServer输密码加OTP,再让JumpServer转发请求到生产机,用密钥登录

第三步:看看jumpserver资产授权

当你jumpserver作为跳板机的时候,会限制SSH的端口转发,而你配置proxyjump的本质意义上是通过跳板机的端口转发能力连接目标主机,因此会被JumpServer拦截