admin管理员组

文章数量:1794759

OpenSSH

前言

  • 最近使用 Crunchbits VPS(virt.crunchbits) 时,由于更换电脑导致认证的 ssh 秘钥丢失,尝试 SSH 密码登录时遇到如下错误提示:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).。上述错误信息表示服务器只允许通过 公钥认证 登录,而拒绝密码认证。下面我们来看看如何给服务配置密码登录。

SSH 版本

代码语言:txt复制
➜  ~ ssh -V
OpenSSH_8.7p1, OpenSSL 3.2.2 4 Jun 2024

配置 SSH 密码登录

  • 修改配置 vi /etc/ssh/sshd_config
代码语言:shell复制
 PermitRootLogin yes			    #允许root帐号远程登录
 PasswordAuthentication yes         #开启密码认证方式
 UsePAM yes                         #开启UsePAM登录
  • 查看 PAM 配置文件是否存在,不存在则进行新增
代码语言:txt复制
vi /etc/pam.d/sshd

#%PAM-1.0
auth       required pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth
  • 重启 ssh 服务
代码语言:shell复制
systemctl restart sshd

// 查看服务是否启动成功
systemctl status sshd
● sshd.service - OpenSSH server daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-10-22 20:58:32 AKDT; 13s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 32194 (sshd)
      Tasks: 5 (limit: 22955)
     Memory: 16.0M
        CPU: 204ms
     CGroup: /system.slice/sshd.service
             ├─32194 "sshd: /usr/sbin/sshd -D [listener] 2 of 10-100 startups"
             ├─32196 "sshd: [accepted]"
             ├─32199 "sshd: [net]"
             ├─32200 "sshd: unknown [priv]"
             └─32201 "sshd: unknown [net]"

Oct 22 20:58:32 bank-card-task sshd[32194]: Server listening on :: port 22.
Oct 22 20:58:32 bank-card-task systemd[1]: Started OpenSSH server daemon.
  • 重新尝试使用密码登录
代码语言:txt复制
ssh root@xxxxxx
// 登录成功

其它

  • 注意是否存在子配置目录文件导致主配置文件修改被覆盖,此时应该修改优先级更高的子配置文件

总结

  • 在使用 Crunchbits VPS 进行 SSH 连接时,默认情况下只启用了公钥认证,导致无法使用密码登录。通过修改 SSH 配置文件并启用 PasswordAuthentication 选项,你可以允许密码登录并解决 Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 问题。

个人简介

本文标签: OpenSSH