在没有 运行 ssh 命令的情况下创建 SSH 隧道

Creating SSH tunnel without running the ssh command

建立 SSH 隧道可以通过显式地从命令行完成

ssh -N -f -L 18888:192.168.224.143:8888 username@192.168.224.143

或在~/.ssh/config文件

中定义隧道
Host tunnel
    HostName 192.168.224.143
    IdentityFile ~/.ssh/mine.key
    LocalForward 18888 192.168.224.143:8888
    User username

然后是运行、

ssh -f -N tunnel

有没有办法在不显式 运行 ssh ssh -f -N tunnel 命令的情况下启动此隧道?

我想在我的机器启动时建立这个隧道。不想将它添加到初始化脚本中。可以通过 SSH 配置本身来完成吗?

没有。 SSH 配置并非旨在为您自动启动某些东西。如果你想在网络后自动启动它,你需要将它添加到你的启动应用程序或init script/systemd服务中。

我还建议您使用 autossh,如果由于某种原因失败,它将负责重新建立隧道。