本文主要是介绍利用jsch远程连接win10,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
测试jsch远程连接win10记录
1、开启win10自带的ssh服务
右键点击左下角的开始:
点击应用与功能:
点击可选功能:
点击添加功能:
安装OpenSSH服务器,以管理员身份运行命令提示符(cmd)
输入指令 net start sshd 开始ssh服务, (net stop sshd 是停止服务)
我这里是本地连接测试,所以不需要关心防火墙的问题,如果是正真的远程连接,需要自行打开相应的端口(默认是22)
2、编写java代码
导入jsch包
<dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.53</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>
测试代码
@Testpublic void Test07(){String host = "192.168.15.130"; // 这是ip地址String user = "administrator"; // 这是用户名,我试了我电脑的用户失败了,好像只能用管理员账户String password = "1421512634"; // 密码String command1 = "ipconfig"; // 要执行的命令try {java.util.Properties config = new java.util.Properties();config.put("StrictHostKeyChecking", "no");JSch jsch = new JSch();Session session = jsch.getSession(user, host, 22); // 这里的22是端口session.setPassword(password);session.setConfig(config);session.connect();System.out.println("Connected");Channel channel = session.openChannel("exec");((ChannelExec) channel).setCommand(command1);channel.setInputStream(null);((ChannelExec) channel).setErrStream(System.err);InputStream in = channel.getInputStream(); //这一部分都是官方的固定写法channel.connect();try{// 加GBK,解决中文乱码BufferedReader inputReader = new BufferedReader(new InputStreamReader(in,"GBK")); String inputLine = null;while((inputLine = inputReader.readLine()) != null) {System.out.println(inputLine);}}catch (Exception e){e.printStackTrace();}channel.disconnect();session.disconnect();System.out.println("DONE");} catch (Exception e) {e.printStackTrace();}}
输出结果
这篇关于利用jsch远程连接win10的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!