我正在尝试使用互联网上的 SSH 连接到我的一台内部计算机(私有 IP)。该计算机的 SSH 端口未公开,因此我首先通过公共资源(公共 IP)创建隧道。
ssh <public ip> -p 2022 -l root -L 127.1.1.1:2222:<private ip>:22
之后,我可以像这样创建 SSH 连接:
ssh [email protected] -p 2222
是否可以使用单个命令来执行该操作?
答案1
您可以随时依次运行命令:
ssh root@<public ip> -p 2022 -L 127.1.1.1:2222:<private ip>:22 &&
ssh [email protected] -p 2222
为了避免大量不必要的输入,请使用 bash 别名。将如下行添加到您的$HOME/.bashrc
:
alias ssh_tunnel='ssh <public ip> -p 2022 -l root -L 127.1.1.1:2222:<private ip>:22 && ssh [email protected] -p 2222'
现在,打开一个新终端,您可以通过运行启动隧道并进行连接
ssh_tunnel