ssh 免密登陆服务器故障

在服务器上新建账户后,希望通过ssh免密或者通过证书登录系统,以提高服务器安全性。 基本流程都已经做完,生成密钥,将公钥内容复制到账户home目录中的.ssh目录下的authorized_keys 文件。同时修改sshd_config文件,禁止通过password 登陆,开启证书访问。

之后在远程服务器时提示:

Permission denied (publickey).

但之前建立的其他账户是可以通过证书访问的。 

观察/var/log/auth.log,发现有如下错误:

Authentication refused: bad ownership or modes for directory /home/XXX

通过对比发现,账户的home目录权限中,组权限有写权限,是775,其他正常设置为750。

修改目录权限后可以正常访问。 

进一步了解到,为什么用户的home目录的全线是775呢?尝试了下,在创建用户时,如果指定-m 自动创建home目录,则系统自动赋予750 的权限。问题原因在于是手动创建了目录导致权限分配问题。 

sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600

参考:

ssh免密码登陆设置时Authentication refused: bad ownership or modes错误解决方法_unix authentication refused-优快云博客​​​​​​​j

课后作业: 一、选择题 OpenSSH 的服务端服务名是?( ) A. ssh.service B. sshd.service C. openssh.service 服务端的配置文件是? ( ) A. /etc/ssh/ssh_config B. /etc/ssh/sshd_config C. /etc/ssh/ssh_host_key 以下哪种钥类型是 RSA 的公钥文件?( ) A. ssh_host_rsa_key B. ssh_host_rsa_key.pub C. ssh_host_ecdsa_key 客户端连接服务端时,默认端口是?( ) A. 22 B. 80 C. 443 禁止 root 用户远程登录需修改配置文件的哪个参数?( ) A. PermitRootLogin yes B. PermitRootLogin no C. AllowUsers root 二、填空题 客户端发起 SSH 连接的命令格式是 ssh ______@IP地址。 生成 RSA 钥对的命令是 ssh-keygen -t ______。 查看 SSH 服务端监听的端口命令是 netstat -lant | grep :______。 白名单用户配置参数是 ______。 三、判断题 ( )SSH 客户端的配置文件是 sshd_config。 ( )修改 SSH 端口时需删除配置文件中 #Port 22 的 #。 ( )DenyUsers 的优先级高于 AllowUsers。 ( )ssh_host_ed25519_key 是公钥文件。 ( )scp 命令不能用于本地到远程的文件传输。 四、简答题 简述客户端和服务端在 SSH 中的角色区别。 码验证和钥对验证的安全性差异是什么? 如何限制 SSH 仅允许特定 IP 段(如 192.168.1.0/24)的用户登录? 解释 AuthorizedKeysFile .ssh/authorized_keys 的含义。 五、操作题 写出将 SSH 默认端口改为 2222 的具体步骤。 如何生成 ed25519 类型的钥对? 使用 scp 将本地文件 /home/user/data.txt 传输到远程服务器 192.168.1.100 的 /tmp 目录。 查看当前系统中 SSH 服务端进程的命令是什么? 六、配置文件解析 以下配置的作用是? PermitRootLogin no AllowUsers alice@192.168.1.0/24 若配置文件中同时存在 AllowUsers bob 和 DenyUsers bob,最终结果是什么? ListenAddress 0.0.0.0 表示什么? 七、故障排查 SSH 连接超时可能的原因有哪些? 如何检查 SSH 服务是否正在运行? 钥对正确配置但无法登录,可能遗漏了什么步骤? Connection refused 错误可能由哪些配置问题引起? 如何为 SSH 服务配置多个监听端口(如 22 和 2222)? 综合题 设计一个场景:某服务器需禁止 root 远程登录,仅允许用户 user1 从 10.0.0.0/8 网段通过钥对访问,写出配置文件片段。 扩展题 如何通过 SSH 实现登录? OpenSSH的服务名是什么? SSH daemon的默认服务名后缀是什么? SSH客户端的配置文件位于哪里? SSH服务端的配置文件叫什么? ECDSA加类型的公钥文件名是什么? ed25519加类型的私钥文件名是什么? 什么是客户端? 什么是服务端? 码和钥对的主要区别是什么? 。 AuthorizedKeysFile指令用于什么? 如何修改SSH服务的默认端口号? PermitRootLogin指令设置为yes时意味着什么? 如何只允许特定IP地址的root用户登录? 黑名单和白
03-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值