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启用配置
相关文章
|
13天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
101 7
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
82 9
|
2月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
69 5
|
3月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
90 2
|
3月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
761 3
|
3月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
165 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
661 6
下一篇
开通oss服务