sshpass和ssh实现端口转发时命令怎么写?-灵析社区

销售经理537

sshpass ssh直接登录服务器是可以的。 但是改成ssh端口转发就不行了。 我的命令如下 sshpass -p 密码 ssh -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -N -f -R 13306:192.168.0.30:3306 ubuntu@ip 我打印了日志 debug3: send packet: type 80 debug3: receive packet: type 4 debug1: Remote: Forwarding listen address "localhost" overridden by server GatewayPorts debug3: receive packet: type 81 debug1: remote forward success for: listen 13306, connect 192.168.0.30:3306 debug1: forwarding_success: all expected forwarding replies received debug1: forking to background ~ # debug3: send packet: type 1 Killed by signal 1.

阅读量:20

点赞量:0

问AI
要使用 "sshpass" 和 "ssh" 来实现端口转发,你可以使用以下命令语法: sshpass -p '密码' ssh -L 本地端口:目标主机:目标端口 用户名@目标主机 以下是命令参数的解释: * "sshpass":这是一个工具,用于提供密码给 "ssh",以便自动登录而不需要手动输入密码。 * "-p '密码'":用于指定密码,你需要将 "'密码'" 替换为你实际的密码。 * "ssh":用于建立 SSH 连接。 * "-L":表示本地端口转发。 * "本地端口":是你要绑定的本地端口号,可以是你选择的任何未被占用的端口号。 * "目标主机":是你想要连接到的远程主机的主机名或IP地址。 * "目标端口":是远程主机上你想要访问的服务的端口号。 * "用户名":是你在远程主机上的用户名,用于登录。 通过执行上述命令,你将在本地主机上创建一个监听指定本地端口的 SSH 通道,所有传入该端口的流量都将被转发到目标主机的指定端口上。这通常用于建立安全的隧道,以便在本地主机和远程主机之间传输数据或访问远程服务。请确保你已经安装了 "sshpass" 工具,或者可以使用其他方式实现无密码登录(如SSH密钥对)来提高安全性。