java jsch 切换用户_使用JSCH框架通过跳转机访问其他节点的方法

本文介绍了如何使用Java的JSCH库通过一个跳转机来访问目标服务器。通过设置端口转发,将目标节点的SSH端口映射到本地,然后用新的会话连接本地端口,实现对目标服务的SSH访问。文中提供了详细的代码示例,展示了如何建立连接、设置端口转发以及验证访问的成功。
摘要由CSDN通过智能技术生成

之前搞了套远程访问ssh进行操作的代码,最近有需求,需要通过一台跳转机才能访问目标服务。在网上搜了半天,也没找到比较好的例子,就自己翻阅了下JSCH的API。但是看的云里雾里的。联想了下,端口转发的原理是否是把目标节点ip:port映射到localhost:port,然后通过localhost:port发送消息就可以抵达目标节点呢?

带着这个推论,改造了下之前的代码。

原有代码通过jsch连接目标节点服务器这里就不多说了,自行百度,网上很多。

下面贴下改造之后的代码:

/**

* 获取连接

* @param ip 跳转机host

* @param userName 跳转机用户名

* @param pwd 跳转机密码

* @param port 跳转机端口

* @return ChannelSftp 返回值

* @throws JSchException 连接异常

*/

public static ChannelSftp connect(String ip, String userName, String pwd, int port) throws JSchException

{

if (port <= 0)

{

port = PORT;

}

Session sshSession = null;

JSch jsch = new JSch();

sshSession = jsch.getSession(userNa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值