有什么事情可以通过控制台登录来完成,但不能通过 SSH 登录来完成吗?

Utk*_*tku 4 ssh console

在 SSH 连接上,您可以执行在控制台连接上可以执行的所有操作吗?

换句话说,在启动系统并在其上安装和配置 SSH 服务器后,您是否可以通过 SSH 与该系统进行所有进一步的交互,而不使用控制台(除非 SSH 服务器由于某种原因不可用) )?

Jde*_*eBP 5

是的。

以下只是其中的一些内容。

超级用户登录

在 FreeBSD 和 OpenBSD 等系统上,init程序仅允许在单用户模式下以用户 #0 身份登录文件中标记为 的secure终端/etc/ttys。并且该login程序(直接在 OpenBSD 上,通过 FreeBSD 中的 PAM 模块)secure在多用户模式下强制执行该标志。

Debian 和 Ubuntu 也有类似的/etc/securetty机制。在所有这些中,控制台和内核虚拟终端(注意,不一定是控制台)默认允许超级用户登录。

在 OpenBSD 上,SSH 的开箱即用默认设置是在使用密码或键盘交互式身份验证时不允许以超级用户身份登录(但在使用公钥身份验证时允许)。FreeBSD 上 SSH 的开箱即用默认设置是根本不允许以超级用户身份登录。

帧缓冲区输出事件/USB 输入程序

人们可以通过 SSH 连接建立 X 隧道,并且可以与使用终端设备的程序进行交互。但是,希望通过 Linux 的“事件”设备系统、USB HID 设备和帧缓冲设备执行 I/O 的程序无法通过 SSH 进行操作。

进一步阅读

声音

通常也不会通过 SSH 传输声音。人们可以手动将发出声音的程序通过 LAN 定向到 PulseAudio 服务器,或者手动从远程声音客户端建立隧道到本地 PulseAudio 服务器。但对于初学者来说,并非所有声音都是 PulseAudio。

进一步阅读

盲文

BRLTTY 等程序需要直接访问虚拟终端设备的字符+属性元胞数组。如果服务器设置了 BRLTTY,则它无法访问 SSH 登录会话并以盲文显示它们,但它可以显示内核虚拟终端登录会话。

进一步阅读

紧急模式和救援模式工作

引导至紧急模式或救援模式不会启动 SSH 服务器。这两种模式都不会启动支撑网络的所有麻烦,更不用说像 SSH 服务器这样的网络服务了。

不可预测的 PolicyKit 内容

PolicyKit 有活动和非活动登录会话的概念。这试图将系统中的/etc/ttys一组属性(onsecurenetworkdialup)归结为“活动”和“非活动”之间的单个真/假切换。这不太适合 SSH 及其同类产品存在的世界。

仅当登录到控制台或内核虚拟终端时,才能拥有“活动”登录会话。通过 SSH 登录始终被视为“非活动”登录会话。可能会导致令人惊讶的行为差异,因为软件作者和系统管理员可以授予不同的权限来对活动登录会话和非活动登录会话执行操作。

进一步阅读