AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1017244
Accepted
geogeek
geogeek
Asked: 2018-03-20 01:14:47 +0800 CST2018-03-20 01:14:47 +0800 CST 2018-03-20 01:14:47 +0800 CST

如何将笔记本电脑变成无头 Ubuntu 服务器?

  • 772

正在寻找一种将笔记本电脑变成带有 ubuntu 服务器的无头服务器的方法,只有 ssh 访问,磁盘加密激活,重新启动时没有登录提示并停用屏幕和键盘。

server headless
  • 1 1 个回答
  • 12190 Views

1 个回答

  • Voted
  1. Best Answer
    pa4080
    2018-03-20T06:31:21+08:002018-03-20T06:31:21+08:00

    这里提出了四个问题/要求,其中一些相互不兼容。如果它将是具有公共访问权限的家庭服务器(听起来像),我将安装 Ubuntu Server 并关闭笔记本电脑的盖子以使其无头。


    设置 SSH

    要在 Ubuntu 上安装 SSH 服务器,请执行以下命令(或在 Ubuntu 服务器安装过程中勾选 Open SSH Server;openssh-client默认情况下应该安装):

    sudo apt update 
    sudo apt install openssh-server openssh-sftp-server
    

    现在您应该能够通过环回接口(从/到服务器本身)通过以下命令连接到 SSH 服务器:

    ssh <user>@localhost  
    

    设置基于密钥的身份验证以提高安全性。首先.ssh在用户的主目录中创建目录:mkdir ~/.ssh

    然后,从远程实例(从您的 LAN),假设它也是 Ubuntu,执行以下步骤(源):

    • 生成 RSA 密钥(输入密码以提高安全性,以防有人窃取您的密钥,它应该与您的用户密码不同):

      mkdir ~/.ssh
      chmod 700 ~/.ssh
      ssh-keygen -t rsa -b 4096
      chmod 600 ~/.ssh/id_rsa
      
    • 将客户端密钥传输到服务器(注):

      ssh-copy-id <user>@<server-lan-ip>
      
    • 现在您应该能够使用密钥身份验证连接到 SSH 服务器(如果您已设置密码,则应输入密码):

      ssh <user>@<server-lan-ip>
      

    /etc/ssh/sshd_config一旦这工作,您可以通过以这种方式编辑文件来禁用服务器的密码身份验证:

    #PasswordAuthentication yes
    PasswordAuthentication no
    

    不要忘记重启 SSH 服务器:sudo systemctl restart sshd.service

    如果您打算使用加密的主目录,您应该调整您的 SSH 配置(在服务器端),如下所述:SSH 仅在本地登录到服务器后才允许远程连接。


    重新启动时没有登录提示或如何防止物理访问登录

    我会说,在我看来,这没有必要。在 Ubuntu 中,默认情况下禁用root 登录。这意味着,作为本地服务器的管理员,您应该使用可能具有难以猜测(奇怪、无意义)的用户名和强密码的用户登录。而且,我认为,在这种情况下,您应该通过手写猜测密码就足够了。如果您想增加更多安全性,您可以设置两个因素身份验证。

    实际上,首先,您应该禁用恢复模式,以防止以 root 身份进行物理访问。它可以在GRUB菜单的“高级选项”中访问,可以通过Shift在引导期间长按该键来访问。

    如果您真的想禁用TTY以防止物理访问登录,在现在使用systemd的 Ubuntu 版本(15.04+)中,您可以/etc/systemd/logind.conf按以下方式编辑文件,这将禁用 TTY 从 2 到 6(源) :

    [Login]
    NAutoVTs=0
    

    TTY-1 是硬编码的,将保持活动状态。要禁用 TTY-1,请使用以下命令将其符号链接到/dev/null( source ):

    sudo systemctl mask [email protected]    # use `unmask` to remove the symlink
    

    现在重新启动系统,TTY 应该不可用。


    停用屏幕和键盘

    笔记本电脑的屏幕和键盘可以通过GRUB停用。为此目的,编辑文件/etc/default/grub并以所示方式修改以下行(<default parameters>已存在的参数在哪里):

    GRUB_CMDLINE_LINUX_DEFAULT="<default parameters> i8042.nokbd video=LVDS-1:d"
    

    然后执行sudo update-grub并重新启动系统。这些额外的内核参数将停用笔记本电脑的键盘和屏幕。我的研究表明,它们几乎适用于所有笔记本电脑品牌/型号。

    您可以通过按GRUB 菜单中的键来覆盖这些参数。e使用这些设置,如果您插入外部键盘和显示器(为什么不和鼠标),它们必须工作。


    全盘加密

    一项简短的互联网研究表明,几乎没有可用的方法来进行全盘加密,例如:

    • Ubuntu 文档/社区 Wiki 上的文章Manual Full System Encryption 。

    • 使用 Ubuntu 安装的全盘加密(使用MinimalCD)YouTybe 上的视频手册。

    请注意!“完整系统加密的结果是每次打开计算机时都需要输入系统密码……”

    因此,如果您设置全盘加密并禁用键盘和显示器,这将导致系统无法在重新启动后运行。

    以下是关于加密的一些额外说明:使用 VPS 服务,我可以阻止 VPS 主机访问我的数据吗?


    在设置全盘加密之前三思而后行!

    这只会在您的设备被盗并且其 HDD/SSD 连接到另一台主机的情况下增加安全性。在您的服务器的工作过程中,磁盘将被解密,以便系统可以访问。所以这不会增加额外的网络安全性。

    在同一个开始 - 你真的需要这个额外的头痛吗?我会花时间学习如何使用LVM。

    也许您想使用加密的主目录来防止系统的其他用户访问您的个人文件。在这种情况下,除非您未登录,否则您的个人数据将被加密。

    请注意,如果您计划成为此服务器的独立管理员,则不需要这样做,因为您可以通过权限有效地限制对文件和文件夹的访问。

    当您登录时,您的家庭将被解密以便您的用户可以访问,并且如果有另一个管理员 - 可以使用该sudo命令的人 - 被恶意调整(!?),他或她可以访问您的文件。

    保护敏感数据安全的最有效方法可能是使用加密文件夹(或仅加密存档文件)。因此,在解密文件夹(文件)之前,您可以检查谁已登录(以 root 身份)。

    • 9

相关问题

  • 使用 dpkg 手动安装软件包是否会阻止未来的升级路径?

  • 如何从命令行刻录双层 dvd iso

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve