按理说ssh localhost是非常简单的一个操作。
ssh localhost步骤
生成秘钥
使用下面的命令即可生成秘钥
ssh-keygen -t rsa
免密码登录
使用下面的命令即可免密码登录localhost
ssh-copy-id localhost
但是到了这里执行ssh localhost的时候依然提示我输入密码。我仔细分析了原因,一般来讲失败的原因有两个。
失败原因之一:.ssh及其下属子文件的权限问题
首选.ssh目录权限是700, 两个dsa 和 rsa的 私钥权限是600,其余文件权限是644.
下面列出.ssh目录及子文件的权限表:
drwx------ 2 root root 4096 1月 28 23:03 ./
drwxr-xr-x 9 root root 4096 1月 28 23:03 ../
-rw------- 1 root root 394 1月 28 23:03 authorized_keys
-rw------- 1 root root 1679 1月 28 23:03 id_rsa
-rw-r--r-- 1 root root 394 1月 28 23:03 id_rsa.pub
-rw-r--r-- 1 root root 1776 1月 28 23:03 known_hosts
失败原因之二:.ssh父目录的权限问题
我的.ssh文件夹绝对路径是/root/.ssh
,所以/root
目录的权限应该是755。这次我的问题就出现在这里。
下面关于SSH相关的文章您也可能喜欢,不妨参考下:
CentOS 7.1下SSH远程登录服务器详解 http://www.linuxidc.com/Linux/2016-03/129204.htm
CentOS 6.5之SSH免密码登录配置 http://www.linuxidc.com/Linux/2016-10/136200.htm
Ubuntu 14.04 下安装Samba 及SSH 服务端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm
Ubuntu 14.04 安装SSH http://www.linuxidc.com/Linux/2016-12/137908.htm
Ubuntu集群下利用Shell脚本进行SSH免密码登陆 http://www.linuxidc.com/Linux/2017-01/140035.htm
CentOS6.4之图解SSH无密码验证双向登陆配置 http://www.linuxidc.com/Linux/2016-06/132219.htm
如何为Linux系统中的SSH添加双重认证 http://www.linuxidc.com/Linux/2014-08/105998.htm
在 Linux 中为非 SSH 用户配置 SFTP 环境 http://www.linuxidc.com/Linux/2014-08/105865.htm
Linux 上SSH 服务的配置和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/140050.htm