package com.yzt.airconditionersystem.bean.ssh;

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

/**
 * @author TzZach
 * @since 2022-05-25 18:23
 */
public class SSHConnection {

    /**
     * 服务器登录名
     */
    String user = "acs";

    /**
     * 登陆密码
     */
    String password = "acs123";

    /**
     * 服务器公网IP
     */
    String host = "47.107.255.78";
    /**
     * 跳板机ssh开放的接口   默认端口 22
     */
    int port = 19903;
    /**
     * 这个是本地的端口，很重要！！！选取一个没有占用的port即可
     */
    int local_port = 3307;
    /**
     * 要访问的mysql所在的host    服务器局域网IP（127.0.0.1也行）
     */
    String remote_host = "127.0.0.1";
    /**
     * 服务器上数据库端口号
     */
    int remote_port = 3306;

    Session session = null;
    /**
     *    建立SSH连接
     */
    public void SSHConnection() throws Exception{
        try {
            JSch jsch = new JSch();
            session = jsch.getSession(user, host, port);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            // 日志打印自己脑补
            session.connect();
            session.setPortForwardingL(local_port, remote_host, remote_port);
        } catch (Exception e) {
            // do something
            e.printStackTrace();
        }
    }
    /**
     *    断开SSH连接
     */
    public void closeSSH () throws Exception
    {
        this.session.disconnect();
    }


}
