在系统启动时运行 SSH SOCKS5 代理

在系统启动时运行 SSH SOCKS5 代理

我想设置一个 Linux 服务器(在本例中为 Ubuntu Server 14.04),以供另一个客户端上的软件用作 SOCKS5 代理。

ssh -f -N -D 0.0.0.0:1080 localhost现在按照这个解释运行就很容易了指导。这非常有效。

现在指南没有告诉我如何在系统启动时自动启动代理?仅输入此命令rc.local是行不通的,因为我必须提供密码。使用生成 ssh 密钥ssh-keygen并将其放入/root/.ssh/也不起作用。

请注意,我并不真正了解整个 ssh 公钥是如何工作的,所以我的错误可能就在那里。当我的公钥应该用于本地客户端而不是远程客户端时,我需要做什么特别的事情?

答案1

我通过ssh-keygen以 root 用户(不是 sudo)运行、不指定密钥的任何名称(例如使用默认名称和位置)并且不提供任何密码短语来解决此问题。然后我确保所有文件的权限/root/.ssh都设置为 600,.ssh文件夹的权限设置为 700。

然后只需将问题中运行代理的命令添加到 /etc/rc.local 即可。据我了解,在这种情况下没有密码短语并不存在安全风险,因为公钥和私钥仅驻留在本地计算机的根文件夹中。

相关内容