You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04 Server用户账户自动登录设置及命令咨询

在Ubuntu 16.04 Server(全盘加密)中设置自动登录

嘿,我来帮你搞定Ubuntu 16.04 Server全盘加密环境下的自动登录问题。这里得分成两步走:先让加密的系统盘自动解锁,再配置用户自动登录到命令行界面——毕竟Server版默认是没有图形界面的嘛。

第一步:让LUKS加密盘自动解锁

因为你安装时用了全盘加密,系统启动时会要求输入密码解锁LUKS卷。要跳过这一步,我们需要创建一个密钥文件并配置系统自动用它解锁:

  • 首先生成一个随机密钥文件,存在root目录下:
    sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4
    
  • 给密钥文件设置严格的权限,确保只有root能读取(这很重要,不然安全性会大打折扣):
    sudo chmod 0400 /root/keyfile
    
  • 找到你的LUKS加密分区设备名,比如可以用sudo blkid命令查看,通常是类似/dev/sda3或者UUID开头的条目。然后把密钥添加到加密卷:
    sudo cryptsetup luksAddKey /dev/你的加密分区 /root/keyfile
    
    执行这一步时需要输入你原来的加密盘密码,确认添加。
  • 修改/etc/crypttab文件,用文本编辑器打开:
    sudo nano /etc/crypttab
    
    找到对应根分区的加密条目(通常是cryptroot开头的行),把原来的密码源改成我们的密钥文件,修改后大概是这样:
    cryptroot UUID=你的加密分区UUID /root/keyfile luks
    
    这里的UUID可以从blkid的输出里复制过来,别搞错了!
  • 最后更新initramfs,让系统启动时加载这个密钥配置:
    sudo update-initramfs -u
    

第二步:设置用户自动登录到命令行

搞定加密盘自动解锁后,接下来配置系统自动登录指定用户到tty1(默认的命令行终端):

  • 创建一个systemd服务的配置目录和文件:
    sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
    sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf
    
  • 在打开的文件里输入以下内容,把你的用户名替换成你要自动登录的用户:
    [Service]
    ExecStart=
    ExecStart=-/sbin/agetty --autologin 你的用户名 --noclear %I $TERM
    
  • 启用这个配置,让systemd生效:
    sudo systemctl enable getty@tty1.service
    

最后测试

现在重启服务器看看效果:

sudo reboot

⚠️ 重要提醒:设置加密盘自动解锁会降低系统的物理安全性——如果有人能物理接触到你的服务器,他们可以拿到密钥文件解锁磁盘。所以只在你能确保服务器物理安全的场景下这么做哦!

内容的提问来源于stack exchange,提问作者Eric Nderitu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:20:57