博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
密钥public/private key登陆linux
阅读量:6643 次
发布时间:2019-06-25

本文共 2091 字,大约阅读时间需要 6 分钟。

Public Key认证是什么

这是一种认证方法,类似于常见的用户名密码认证方法。不同的是需要在客户端机器上保留一个很长很长的加密key,而在服务器端需要做出相应的配置。当客户端想要访问服务器时,服务器则会检查自身配置并根据客户端所提供的用户名来识别客户端。说白了就是实现了无密码访问,并同时兼有安全保障措施。

认证过程简要说明

Public key对数据进行加密而且只能用于加密,Private key只能对所匹配的Public key加密过的数据进行解密。我们把Public key放在远程系统合适的位置,然后从本地开始进行ssh连接。此时,远程的sshd会产生一个随机数并用我们产生的Public key进行加密后发给本地,本地会用Private key进行解密并把这个随机数发回给远程系统。最后,远程系统的sshd会得出结论我们拥有匹配的Private key允许我们登录。

客户端配置

一、使用客户端的用户登录,然后运行命令“ssh-keygen -t dsa”生成Public Key和Private Key,例子如下:
[root@someserver ~]# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): /root/.ssh/id_dsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
blah:blah:blah:blah:blah:blah:blah:blah:blah:blah root@someserver

二、设置权限

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

服务器端配置

一、从目录/etc/或/etc/ssh/或/etc/conf.d/中找到sshd_config文件,并用vi编辑器打开
二、启用RSAAuthentication和PubkeyAuthentication,并同时指定authorized_keys文件位置,设置如下:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile ~/.ssh/authorized_keys
三、更新并保存sshd_config文件后,运行命令“service sshd restart”重新启动服务,不同版本Linux的服务启动方式见:http://theos.in/desktop-linux/tip-that-matters/how-do-i-restart-linux-network-service/
四、以上三步只是启用无密码验证功能,想要这个功能生效,还必须把客户端生成的Public Key配置到服务器的authorized_keys文件中去。把之前在客户端生成的id_rsa.pub文件内容拷贝到authorized_keys中,如果有多个客户端,那么需要把每个客户端生成的Public Key都拷贝进来,注意换行,一个客户端一行。

测试

一、登录客户端,运行命令“ssh username@servername”,运行命令“ssh -vvv -o PreferredAuthentications=publickey username@servername”可以强制使用Public Key验证方法。
二、测试SFTP可以使用命令“sftp username@servername”

注意事项

.ssh目录的属主、属组使用当前用户与用户组
.ssh目录的权限请保持700
authorized_keys的权限为644
id_rsa的权限为600
id_rsa.pub的权限为644
检查用户$HOME目录权限必须为755

参考文档

http://tutorialgenius.blogspot.hk/2012/02/unixlinux-setting-up-public-key.html
http://blog.csdn.net/goalking019/article/details/4925696
http://www.comodo.com/resources/small-business/digital-certificates2.php

转载于:https://www.cnblogs.com/loran/p/6290142.html

你可能感兴趣的文章
理解UIView的绘制-孙亚洲
查看>>
我只负责转换![C/C++]
查看>>
linux安装ant 1.8.2
查看>>
[转]wait,notify,notifyAll,join,yield,sleep的区别和联系
查看>>
[书目20130216]深入浅出WPF
查看>>
hibernate 一级缓存and 快照
查看>>
iPhone电池到底为何不耐用,真相让人意外
查看>>
真正实现多点触控索尼Xperia Touch试用
查看>>
如何在OpenStack中轻松部署MySQL应用
查看>>
VMware vSphere:架构解析及应用案例
查看>>
可视化探索卷积神经网络提取特征
查看>>
Docker-run
查看>>
一点资讯拆VIE回国;拼多多做跨境海淘;复宏汉霖首款生物类似药获批
查看>>
怎么设计IOS登录页面的跳转关系
查看>>
ecshop 漏洞如何修复 补丁升级与安全修复详情
查看>>
【三】Centos7.4 安装Docker
查看>>
拜腾与博世将在动力系统、驾驶员辅助等方面展开重点合作
查看>>
国资入场,P2P网贷平台星火钱包千万级A+轮融资
查看>>
windows server21012 r2 密钥
查看>>
北大发布新零售之城发展指数报告,上海超北京成榜首
查看>>