centos7:SSH公钥无密码认证

时间:2022-05-06
本文章向大家介绍centos7:SSH公钥无密码认证,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题导读 1.如何生成密钥对? 2.ssh localhost不成功,可能原因是什么? 3.ssh localhost警告的含义是什么? 在当前机器生成密钥对

[Bash shell] 纯文本查看 复制代码

?

ssh-keygen –t rsa –P ''

确认一路回车,命令默认会在用户主目录下生成.ssh目录,你们有两 密钥对文件:id_rsa和id_rsa.pub

[Bash shell] 纯文本查看 复制代码

?

[master@hadoop ~]$ ll .ssh/
-rw-------. 1 master master 1675 Jun  3 00:28 id_rsa
-rw-r--r--. 1 master master  402 Jun  3 00:28 id_rsa.pub

接着在master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。

[Bash shell] 纯文本查看 复制代码

?

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

非root用户则需要授权

[Bash shell] 纯文本查看 复制代码

?

chmod 600 ~/.ssh/authorized_keys

服务器修改SSH配置文件"/etc/ssh/sshd_config",修改如下内容(去掉前面的注释)

[Bash shell] 纯文本查看 复制代码

?

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

这里需要通过文本编辑器的查找命令,如果使用vi编辑器,则使用/然后黏贴查找的内容,例如查找RSAAuthentication yes,则如下图

如果还看不懂,则看下vi编辑器的查找功能: linux之vi编辑器 http://www.aboutyun.com/forum.php?mod=viewthread&tid=6450 最后重启ssh服务

[Bash shell] 纯文本查看 复制代码

?

service sshd restart

使用上面命令系统可能提示 Redirecting to /bin/systemctl restart sshd.service 则我们在输入

[Bash shell] 纯文本查看 复制代码

?

/bin/systemctl restart  sshd.service

重启成功。 然后ssh localhost 提示

[Bash shell] 纯文本查看 复制代码

?

The authenticity of host 'localhost (::1%1)' can't be established.
ECDSA key fingerprint is 7c:6a:0f:96:21:56:c5:f2:85:59:df:fe:1f:8b:f0:d3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Last login: Mon Apr 11 18:39:02 2016 from 10.0.0.1

这段话的意思是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗? 继续,会将localhost加入known hosts中,后面就不会再出现这种情况了。