要实现SSH远程访问,需要使用Java的SSH库。以下是使用JSch库实现SSH远程访问的示例代码:
首先,需要在项目中引入JSch库的依赖。如果使用Maven,可以在pom.xml文件中添加以下依赖:
<dependencies><dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version></dependency></dependencies>然后,可以使用以下代码实现SSH远程访问:
import com.jcraft.jsch.ChannelExec;import com.jcraft.jsch.JSch;import com.jcraft.jsch.Session;public class SSHExample {public static void main(String[] args) {String host = "hostname";String username = "username";String password = "password";int port = 22;try {JSch jsch = new JSch();Session session = jsch.getSession(username, host, port);session.setPassword(password);session.setConfig("StrictHostKeyChecking", "no");session.connect();ChannelExec channel = (ChannelExec) session.openChannel("exec");channel.setCommand("ls -l");channel.connect();java.io.InputStream in = channel.getInputStream();byte[] tmp = new byte[1024];while (true) {while (in.available() > 0) {int i = in.read(tmp, 0, 1024);if (i < 0) {break;}System.out.print(new String(tmp, 0, i));}if (channel.isClosed()) {if (in.available() > 0) {continue;}System.out.println("Exit Code: " + channel.getExitStatus());break;}try {Thread.sleep(1000);} catch (Exception e) {e.printStackTrace();}}channel.disconnect();session.disconnect();} catch (Exception e) {e.printStackTrace();}}}上述代码中,通过JSch库创建一个SSH会话,并使用会话执行命令(此处示例为执行ls -l命令)。将输出结果打印到控制台并打印命令的退出码。
请根据实际情况替换host、username和password参数以及命令。确保远程服务器上已经安装了SSH服务,并且可以使用提供的用户名和密码进行访问。