添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

java连接linux服务器执行命令

在Java中连接Linux服务器执行命令,通常可以使用SSH协议来实现。可以使用第三方库JSch来方便地实现SSH连接和执行命令的功能。

以下是一段示例代码,可以连接到Linux服务器并执行命令:

import com.jcraft.jsch.*;
public class SSHCommandExecutor {
    public static void main(String[] args) {
        String host = "your-linux-server-hostname-or-ip";
        String username = "your-username";
        String password = "your-password";
        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession(username, host, 22);
            session.setPassword(password);
            // 避免第一次访问服务器时的询问,例如 "Are you sure you want to continue connecting (yes/no)?"
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();
            // 执行命令
            String command = "ls -l";
            ChannelExec channelExec = (ChannelExec) session.openChannel("exec");
            channelExec.setCommand(command);
            channelExec.connect();
            // 获取命令执行结果
            InputStream in = channelExec.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            reader.close();
            // 断开连接
            channelExec.disconnect();
            session.disconnect();
        } catch (JSchException | IOException e) {
            e.printStackTrace();

需要注意的是,为了安全起见,应该避免将明文密码存储在代码中。可以使用配置文件或者其他方式来存储密码,并在运行时读取。此外,为了保证安全,建议使用公钥认证方式来替代密码认证。

  •