用java 运行proxyCommand 命令,带来命令交互式问题

17 篇文章 0 订阅

版权声明

本博文首发于:
CSDN 瑾兰https://blog.csdn.net/qq_28296925) 博客。
请注意:
无需授权即可转载;
甚至无需保留以上版权声明… …


问题:

linux运行proxyCommand命令 需要交互输入两次密码 ;跳板机密码和目标服务器密码。

解决:

最终要解决的是:跳板机与目标服务器之间 无密码跳转

解决方案:

1、 做公钥认证,不使用秘钥认认证,太麻烦。 需要交互式输入密码;本机、跳板机、目标机器三者已经做过公钥认证。

使用命令能够实现。

2、UserInfo实现 UIKeyboardInteractive,赋值交互式命令的值。


一、ProxyJump

demo:

wkvm2(模拟本机)、wcl:堡垒机、wkvm1(目标主机)

wkvm2~/.ssh/config文件中写入

Host wkvm1     #目标机名称

    HostName 192.168.0.11    #目标机ip 

    ProxyJump root@192.168.0.85:22    #堡垒机 用户名@IP:22

    User root                    #目标机用户

wkvm2中运行 ssh -J 堡垒机用户@堡垒机IP:22 目标机用户@目标机IP

[root@wkvm2 ~]# ssh -J root@192.168.0.85:22 root@192.168.0.11

root@192.168.0.85's password:   

Last login: Fri Oct 12 13:25:16 2018 from 192.168.0.85

[root@wkvm1 ~]#

注意这儿也需要交互输入。

第一次输入yes or no{首次输入,秘钥}

第二次输入堡垒机密码

二、ProxyCommand

ssh -o ProxyCommand='ssh 堡垒机用户@堡垒机IP nc 目标机IP 22' 目标机用户@目标机IP

ssh -o ProxyCommand='ssh root@192.168.0.85 nc 192.168.0.11 22' root@192.168.0.11

注意这个也是需要交互输入的 。

第一次输入yes or no{首次输入,是否保存堡垒机秘钥}

第二次输入堡垒机密码

第三次输入yes or no{首次输入,是否保存目标机秘钥}

第二次输入目标机密码

三、ssh 公钥私钥认证操作及原理

待续


参考链接

1、JLine :处理控制台输入的java库

2、java交互式命令行调研

3、Netcat, ProxyCommand et les rebonds Ssh

4、Tunnel Ssh

5、透过SSH代理穿越跳板机的方法

6、使用 Java 进行 OpenSSH 和 PuTTY private key 密钥格式的解析与转换

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值