CentOS配置SSH免密码登录后,仍提示输入密码

CentOS配置SSH无密码登录需要3步:

  1. 生成公钥和私钥
  2. 导入公钥到认证文件,更改权限
  3. 测试

1.生成公钥和私钥

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

默认在 ~/.ssh目录生成两个文件:
    id_rsa      :私钥
    id_rsa.pub  :公钥

2.导入公钥到认证文件
    2.1 导入本机

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

    2.2 导入要免密码登录的服务器

首先将认证文件复制到服务器

scp ~/.ssh/authorized_keys xxx@主机名:/home/xxx/.ssh/

一般以上几步就ok了,但我的仍要输入密码,

用root用户登陆查看系统的日志文件:$tail /var/log/secure -n 20

…………

Oct  7 10:26:43 MasterServer sshd[2734]: Authentication refused: bad ownership or modes for file /home/Hadooper/.ssh/authorized_keys
Oct  7 10:26:48 MasterServer sshd[2734]: Accepted password for hadooper from ::1 port 37456 ssh2
Oct  7 10:26:48 MasterServer sshd[2734]: pam_unix(sshd:session): session opened for user hadooper by (uid=0)
Oct  7 10:36:30 MasterServer sshd[2809]: Accepted password for hadooper from 192.168.1.241 port 36257 ssh2
Oct  7 10:36:30 MasterServer sshd[2809]: pam_unix(sshd:session): session opened for user hadooper by (uid=0)
Oct  7 10:38:28 MasterServer sshd[2857]: Authentication refused: bad ownership or modes for directory /home/hadooper/.ssh

…………

提示/home/hadooper/.ssh和 /home/hadooper/.ssh/authorized_keys权限不对,修改如下:   

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys 

3.测试
    ssh host,第一次登录可能需要yes确认,之后就可以直接登录了。

 

http://www.linuxidc.com/Linux/2014-10/107762.htm

 

posted @   seasonzone  阅读(450)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2014-11-24 mongodb系列之-治理mongodb->db.currentOp()
点击右上角即可分享
微信分享提示