centos设置root免密自动登陆

修改/etc/gdm/custom.conf文件,实现root用户免密码自动登陆

1、使用root用户登陆
2、打开终端命令窗口,用vi编辑器打开配置文件,命令:vi /etc/gdm/custom.conf

3、在[daemon]下增加:

AutomaticLoginEnable=True

AutomaticLogin=root

保存文件,然后重启查看效果。

vi编辑器操作文件方法:

进入编辑模式,按 o 进行编辑

编辑结束,按ESC 键 跳到命令模式,然后输入退出命令:

:w保存文件但不退出vi 编辑

:w! 强制保存,不退出vi 编辑

:w file将修改另存到file中,不退出vi 编辑

:wq保存文件并退出vi 编辑

:wq!强制保存文件并退出vi 编辑

q:不保存文件并退出vi 编辑

:q!不保存文件并强制退出vi 编辑

:e!放弃所有修改,从上次保存文件开始再编辑

<think>好的,用户想要在CentOS 9上配置SSH免密登录。我之前处理过CentOS 7和6的相关问题,但CentOS 9可能有些同。首先,我需要回忆一下SSH免密登录的基本步骤,然后考虑CentOS 9是否有新的配置要求或者工具的变化。 首先,SSH免密登录通常涉及生成钥对,然后将公钥复制到目标服务器。用户需要安装openssh-clients,可能还有openssh-server。CentOS默认应该已经安装了这些,但可能需要确认版本是否兼容。CentOS 9使用的是较新的软件包,比如可能使用ssh-copy-id的同选项,或者配置文件的位置是否有变化? 然后,检查SSH服务的配置文件。在之前的版本中,需要确保/etc/ssh/sshd_config中的PubkeyAuthentication设为yes,并且可能禁用密码认证。CentOS 9的SSH服务是否默认启用了这些选项呢?可能需要用户手动调整,然后重启sshd服务。 另外,生成钥对还是用ssh-keygen命令,但要注意钥类型。现在推荐使用Ed25519或者RSA 4096位,而CentOS 9是否支持这些?默认的钥类型可能还是RSA,但用户可以选择更安全的类型。 接下来是复制公钥到目标服务器,使用ssh-copy-id命令。需要确保目标服务器的SSH服务正在运行,并且用户有权限写入~/.ssh/authorized_keys文件。如果用户遇到权限问题,可能需要手动创建.ssh目录并设置正确的权限,比如700,而authorized_keys文件设置为600。 还有,可能需要处理known_hosts文件的问题,第一次连接时需要确认主机钥,用户是否需要在脚本中自动处理,或者手动输入yes。过用户教程中应该提到这一步,需要用户交互。 另外,SELinux和防火墙的设置是否会影响SSH连接?在CentOS 9中,firewalld默认是启用的,但SSH端口22通常是开放的。如果用户修改了SSH端口,可能需要调整防火墙规则。免密登录本身涉及端口变化,所以可能需要处理防火墙,除非有特殊配置。 还要注意文件权限问题,比如用户的家目录权限能太开放,否则SSH会拒绝使用钥。通常家目录应该是755.ssh目录700,authorized_keys文件600。这些在CentOS 9中是否仍然适用? 可能还需要考虑ssh-copy-id命令在CentOS 9中的兼容性,如果目标用户的家目录存在,或者没有.ssh目录,命令是否能自动创建?或者是否需要用户手动创建? 最后,测试免密登录时,如果出现错误,如何排查?比如使用ssh -v选项查看详细日志,检查日志文件/var/log/secure中的信息,这些步骤是否要包含在教程中,帮助用户解决常见问题。 总结步骤应该是: 1. 生成钥对 2. 复制公钥到目标服务器 3. 配置SSH服务端 4. 测试连接 需要确保每一步都适用于CentOS 9,并参考之前CentOS 7的步骤,但注意可能的差异,比如服务管理命令(systemctl)是否变化,或者配置文件路径是否有调整。另外,引用之前的参考资料,但需要确认是否适用于CentOS 9,尤其是涉及GSSAPIAuthentication或者UseDNS等参数。可能还需要更新命令中的示例主机名和IP地址,以符合用户当前环境。</think>### 分步配置 CentOS 9 SSH 免密登录教程 #### 1. 安装必要组件(若未预装) ```bash sudo dnf install openssh-clients openssh-server -y ``` #### 2. 生成 SSH 钥对(本地机器执行) ```bash ssh-keygen -t ed25519 -C "your_comment" # 推荐使用 Ed25519 算法 # 按 3 次回车(默认路径/空密码) ``` 生成文件路径:$HOME/.ssh/id_ed25519(私钥)和 id_ed25519.pub(公钥)[^3] #### 3. 配置目标服务器 ```bash # 修改 SSH 服务端配置 sudo vim /etc/ssh/sshd_config ``` 确认以下参数: ```config PubkeyAuthentication yes # 启用钥认证 PasswordAuthentication no # 关闭密码认证(可选) PermitRootLogin prohibit-password # 禁止 root 密码登录(可选) ``` ```bash sudo systemctl restart sshd # 重启 SSH 服务[^1] ``` #### 4. 分发公钥到目标服务器 ```bash ssh-copy-id -i ~/.ssh/id_ed25519.pub username@remote_host # 自动追加公钥[^3] ``` 若出现提示,输入目标服务器的用户密码。 #### 5. 验证免密登录 ```bash ssh username@remote_host # 应直接登录无需密码[^4] ``` #### 6. 权限修正(如遇问题) ```bash # 目标服务器执行 chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` #### 7. 多节点批量配置(可选) 使用自动化工具同步公钥: ```bash for host in node01 node02 node03; do ssh-copy-id -i ~/.ssh/id_ed25519.pub $host done ``` ### 关键配置解析 | 配置项 | 作用说明 | 推荐值 | |-------------------------|----------------------------|--------| | PubkeyAuthentication | 启用钥认证机制 | yes | | StrictModes | 检查文件权限严格性 | yes | | MaxAuthTries | 最大认证尝试次数 | 3 | ### 常见问题排查 1. **连接超时**:检查防火墙状态 `sudo firewall-cmd --list-all` 2. **权限拒绝**:验证目标服务器 `.ssh` 目录权限应为 700 3. **钥未识别**:使用 `ssh -vT user@host` 查看调试信息 [^1]: 服务重启是配置生效的必要步骤 : `ssh-copy-id` 是安全分发公钥的标准方法 [^4]: 成功免密登录的最终验证方法
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值