admin 管理员组

文章数量: 887006

利用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