![退出主控制台登录时丢失 SSH 连接](https://linux22.com/image/1033725/%E9%80%80%E5%87%BA%E4%B8%BB%E6%8E%A7%E5%88%B6%E5%8F%B0%E7%99%BB%E5%BD%95%E6%97%B6%E4%B8%A2%E5%A4%B1%20SSH%20%E8%BF%9E%E6%8E%A5.png)
openssh-server
与往常一样,我在一台全新的 Ubuntu 台式计算机上安装了Synaptics 10.10,并实施了所有更新和补丁。
如果我已登录本地控制台,我可以通过 SSH 连接到该框,没有任何问题。如果未登录本地控制台,则无法通过 SSH 连接到该框。如果我当前正在运行 SSH 连接,然后注销本地控制台,则 SSH 会话将很快断开连接。
在我看来,只有当用户实际登录 Ubuntu 时,网络连接才会起作用。
这是正常现象吗? 有办法避免这种情况吗?
谢谢!
答案1
这是正常现象吗? 有办法避免这种情况吗?
对于非有线连接来说,这是正常行为。网络管理器处理无线(某种程度上也包括有线)连接的连接,并且只有在特权用户登录后才会开始执行。
您可以通过启用自动登录(通过系统 -> 管理 -> 登录屏幕设置)稍微规避此问题,但这会降低安全性。您可以跳转那通过将桌面自身添加xdg-screensaver lock
为启动应用程序(系统 -> 首选项 -> 启动应用程序)来解决问题。
正如若昂所建议的,您可能需要将连接设置为“对所有用户可用”,这样它就不会要求输入密钥环密码(如果没有人在那里,显然不会输入该密码)。
这可能只有在单用户机器上才实用,而且可能不如根本不登录那么安全。
另一种方法是从网络管理器中移除连接,并让底层网络层进行连接。您可以在文件中尝试以下操作/etc/network/interfaces
:
auto wifi0
iface wifi0 inet dhcp
wireless-essid YOUR-AP-ESSID
wireless-ap 00:11:22:33:44:55
wireless-key YOUR-AP-KEY
wifi0
显然,用无线接口、YOUR-AP-ESSID
无线接入点的 ESSID、00:11:22:33:44:55
AP 的 MAC 地址和YOUR-AP-KEY
适当的密钥替换。
这会产生副作用,即系统上的任何人都可以cat /etc/network/interfaces
找到您的 AP 密钥。这可能很糟糕……这取决于它需要保持的秘密程度。但只有登录的用户才能看到它。
这可能不会起作用,甚至可能使网络管理器崩溃。我不能说。
与上述类似,这里有一篇关于使用wpa_supplicant
and 的博客文章/etc/network/interfaces
:http://blog.nelhage.com/2008/08/using-wpa_supplicant-on-debianubuntu/
这是一个相当老的帖子,但它可能比直接将您的连接信息嵌入到中稍微安全一些/etc/network/interfaces
。
如果我们只是谈论有线连接……
我注意到在较新安装的 Ubuntu 中,桌面的自动连接状态已被删除/etc/network/interfaces
。我猜网络管理器现在正在这样做。要重新添加它,请编辑接口文件以添加以下内容:
auto eth0
iface eth0 inet dhcp
对于静态(非 DHCP)连接,以下是我的一台服务器的示例:
auto eth0
iface eth0 inet static
address 95.172.14.178
netmask 255.255.255.248
network 95.172.14.176
broadcast 95.172.14.183
gateway 95.172.14.177
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 78.40.32.140
post-up ethtool -K eth0 tx off
其中一些可以被忽略或保留为自动。