linux tty与串口免密登录配置

简介: 配置tty界面与串口界面的免密登录

TTY自动登录

关键程序getty

以设置TTY1自动登录为例:
编辑 /etc/systemd/system/getty@tty1.service.d/autologin.conf 添加内容:

另一种方法是用 systemctl edit getty@tty1.service命令,但实测debian11无法通过这种方法添加,只能手动创建配置文件,可能是systemd版本的原因。
[Service]
#自动启动X时添加#Type=simple
ExecStart=
#Archwiki已更新为后面的版本#ExecStart=-/sbin/agetty --autologin 自动登录用户名 --noclear %I 38400 linux
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin 自动登录用户名 %I $TERM

之后重启就可以看到配置已生效。
以此基础,TTY自动启动X,首先配置好startx
如果使用Bash, 编辑 ~/.bash_profile,加入如下内容;如果文件不存在,从 /etc/skel/.bash_profile 复制一个框架版本。
如果使用 zsh,则编辑 ~/.zprofile

if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
  exec startx
fi

串口终端配置

参考串口使用指南
连接串口的工具除了minicom,还可以用screen(临时用)、moserial(GUI界面)等。
注意不同的设备串口设备名称可能不一样,例如:X86虚拟机是ttyS0,ARM64虚拟机是ttyAMA0

配置串口终端自动登录,编辑serial-getty的服务配置 /etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf 添加内容:

[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --keep-baud --autologin 自动登录用户名 115200,57600,38400,9600 - $TERM

以上配置不足以实现免密,参考树莓派配置串口免密root登录的流程,以PVE下的debian11虚拟机配置网页串口root免密为例:

  1. 执行cp /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyS0.service,注意这里@串口名要与系统中实际使用的串口名一致,然后编辑拷贝过来的service文件中[Service]下的ExecStart字段添加 --autologin 自动登录用户名 参数(改好的示例:ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud --autologin root 115200,57600,38400,9600 %I $TERM

    这里也存在前面配置tty自动登录时的问题,无法通过systemctl edit编辑配置文件,只能手动复制修改。
  2. 编辑/etc/pam.d/login,在顶部添加:auth sufficient pam_listfile.so item=tty sense=allow file=/etc/rootshelltty onerr=fail apply=root
  3. 执行echo /dev/ttyS0 > /etc/rootshelltty添加串口root免密权限,注意这里串口名要与系统中实际使用的串口名一致。
  4. 执行systemctl daemon-reload && systemctl restart serial-getty@ttyS0.service启用配置
相关文章
|
22天前
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
20 0
Linux查看和剔除当前登录用户详细教程
|
15天前
|
域名解析 负载均衡 网络协议
Linux网络接口配置不当所带来的影响
总而言之,Linux网络接口的恰当配置是保证网络稳定性、性能和安全性的基础。通过遵循最佳实践和定期维护,可以最大程度地减少配置错误带来的负面影响。
46 0
|
18天前
|
监控 安全 网络协议
快速配置Linux云服务器
快速配置Linux云服务器
|
27天前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
27天前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
|
27天前
|
应用服务中间件 Linux PHP
【Azure 应用服务】App Service For Linux 环境中,如何修改 Nginx 配置中 server_name的默认值 example.com
【Azure 应用服务】App Service For Linux 环境中,如何修改 Nginx 配置中 server_name的默认值 example.com
|
27天前
|
Java Linux Shell
【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题
【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题
|
28天前
|
存储 安全 Linux
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
|
11天前
|
Linux Shell
Linux 中 Tail 命令的 9 个实用示例
Linux 中 Tail 命令的 9 个实用示例
40 6
Linux 中 Tail 命令的 9 个实用示例