正在寻找一种方法将笔记本电脑变成带有 ubuntu 服务器的无头服务器,只允许 ssh 访问,激活磁盘加密,重新启动时没有登录提示并停用屏幕和键盘。
这里有四个问题/要求,其中一些彼此不兼容。如果它将是具有公共访问权限的家庭服务器(听起来像),我将只安装 Ubuntu Server 并关闭笔记本电脑的盖子以使其无头。
要在 Ubuntu 上安装 SSH 服务器,请执行以下命令(或在 Ubuntu 服务器的安装过程中勾选 Open SSH Server;openssh-client默认情况下应该安装):
sudo apt update
sudo apt install openssh-server openssh-sftp-server
Run Code Online (Sandbox Code Playgroud)
现在您应该能够通过以下命令通过环回接口(从/到服务器本身)连接到 SSH 服务器:
ssh <user>@localhost
Run Code Online (Sandbox Code Playgroud)
设置基于密钥的身份验证以提高安全性。首先.ssh在用户的主目录中创建目录:mkdir ~/.ssh
然后,从远程实例(来自您的 LAN),假设它也是 Ubuntu,执行以下步骤(源):
生成 RSA 密钥(输入密码以提高安全性,以防有人窃取您的密钥,它应该与您用户的密码不同):
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa -b 4096
chmod 600 ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)将客户端密钥传输到服务器(注意):
ssh-copy-id <user>@<server-lan-ip>
Run Code Online (Sandbox Code Playgroud)现在您应该能够使用密钥身份验证连接到 SSH 服务器(如果您已经设置了密码,则应该输入密码):
ssh <user>@<server-lan-ip>
Run Code Online (Sandbox Code Playgroud)一旦成功,您可以通过/etc/ssh/sshd_config以这种方式编辑文件来禁用服务器的密码验证:
#PasswordAuthentication yes
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)
不要忘记重新启动SSH服务器: sudo systemctl restart sshd.service
如果您打算使用加密的主目录,您应该调整您的 SSH 配置(在服务器端),如下所述:SSH 仅在本地登录到服务器后才允许远程连接。
我会说,在我看来,这是没有必要的。在 Ubuntu 中,默认情况下禁用root 登录。这意味着,作为本地服务器的管理员,您应该使用一个难以猜测(奇怪的、无意义的)用户名和强密码的用户登录。而且,我认为,在这种情况下,您应该通过手写猜测密码就足够了。如果你想增加更多的安全性,你可以设置两因素身份验证。
实际上,首先,您应该禁用恢复模式,以防止以 root 身份进行物理访问登录。它可以在GRUB菜单的“高级选项”中访问,可以通过Shift在引导期间长按该键来访问。
如果您真的想禁用TTY以防止通过物理访问登录,在现在使用systemd 的Ubuntu 版本(15.04+)中,您可以/etc/systemd/logind.conf按以下方式编辑文件,这将禁用 2 到 6 的 TTY(来源) :
[Login]
NAutoVTs=0
Run Code Online (Sandbox Code Playgroud)
TTY-1 是硬编码的,将保持活动状态。要禁用 TTY-1,请使用以下命令将其符号链接到/dev/null( source ):
sudo systemctl mask getty@tty1.service # use `unmask` to remove the symlink
Run Code Online (Sandbox Code Playgroud)
现在重新启动系统,TTY 应该不可用。
笔记本电脑的屏幕和键盘可以通过GRUB停用。为此,请编辑文件/etc/default/grub并按所示方式修改以下行(<default parameters>已存在的参数在哪里):
GRUB_CMDLINE_LINUX_DEFAULT="<default parameters> i8042.nokbd video=LVDS-1:d"
Run Code Online (Sandbox Code Playgroud)
然后执行sudo update-grub并重新启动系统。这些额外的内核参数将停用笔记本电脑的键盘和屏幕。我的研究表明,它们几乎适用于所有笔记本电脑品牌/型号。
您可以通过按GRUB 菜单中的键来覆盖这些参数e。使用这些设置,如果您插入外部键盘和显示器(为什么不和鼠标),它们必须工作。
一项简短的互联网研究表明,有几种方法可以进行全盘加密,例如:
Ubuntu 文档/社区 Wiki 上的文章手动完整系统加密。
使用 Ubuntu 安装进行全盘加密(使用MinimalCD) YouTybe 上的视频手册。
请注意!“完整系统加密的结果是,每次打开计算机电源时,您都需要输入系统密码……”
因此,如果您设置全盘加密并禁用键盘和显示器,则重启后系统将无法运行。
这里有一些关于加密的附加说明:使用 VPS 服务,我可以阻止 VPS 主机访问我的数据吗?
这只会在您的设备被盗并且其 HDD/SSD 连接到另一台主机的情况下增加安全性。在您的服务器的工作过程中,磁盘将被解密以便系统可以访问。所以这不会增加额外的网络安全。
在同一个开始 - 你真的需要这个额外的头痛吗?我会花时间学习如何使用LVM。
也许您想使用加密的主目录来防止系统的其他用户访问您的个人文件。在这种情况下,除非您未登录,否则您的个人数据将被加密。
请注意,如果您打算成为此服务器的独立管理员,则不需要这样做,因为您可以通过权限有效地限制对文件和文件夹的访问。
当您登录时,您的家将被解密,以便您的用户可以访问,并且如果有另一个管理员 - 可以使用该sudo命令的人 - 被恶意调整(!?),他或她可以访问您的文件。
也许保护敏感数据安全的最有效方法是使用加密文件夹(或仅加密存档文件)。因此,在解密文件夹(文件)之前,您可以检查谁已登录(以 root 身份)。
| 归档时间: |
|
| 查看次数: |
10112 次 |
| 最近记录: |