# ssh_tunnel **Repository Path**: joe3160/ssh_tunnel ## Basic Information - **Project Name**: ssh_tunnel - **Description**: ssh_tunnel是一个用Golang开发的SSH转发小脚本,主要用于 软件开发过程中 连接远程主机上的服务。即远程服务拒绝公网直接连接的情况下,通过SSH通道进行连接的一种方式。 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2021-06-20 - **Last Updated**: 2024-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ssh_tunnel #### 介绍 ssh_tunnel是一个用Golang开发的SSH转发小脚本,主要用于 软件开发过程中 连接远程主机上的服务。即远程服务拒绝公网直接连接的情况下,通过SSH通道进行连接的一种方式。 #### 安装教程 1. git clone https://gitee.com/joe3160/ssh_tunnel.git 2. cd $PATH/ssh_tunnel 3. 修改配置文件 `config.json` 3. go run main.go #### `config.json` 参数说明 ``` { "ssh": {//代理服务器ssh "host": "192.168.1.100", "user": "root", "secret": "password", "private_key": "~\.ssh\id_rsa",//windows下注意转义\\表示\ , 如c:\\user\\.ssh\\id_rsa "port": 22 }, "tunnels": [ { "ident": "mysql", "ssh": null, "local_port": 3306, "remote_host": "10.13.0.10", "remote_port": 33306 } ] } ``` 1. `ssh` 默认代理服务器ssh配置 2. `tunnels` 目标服务器连接信息,切片形式,元素可以一个或多个 3. `tunnels` 子元素ssh 为null是表示采用默认的ssh,如果不是,可以自定义,格式与默认ssh一致 #### Windows 查看端口占用进程并关闭 1.打开CMD命令行,输入 `netstat -ano|findstr "端口号"` 查看进程,**不要漏掉双引号**: ``` netstat -ano|findstr "端口号" ``` 2.使用Tasklist查看对于 PID 的进程名: ``` tasklist|findstr "PID号" ``` 3.除了通过任务管理器内直接结束进程,也可通过 taskkill 命令方式结束进程: ``` taskkill /f /t /im 端口号 ```