非对称加密 秘钥登录
发布日期:2021-11-09 11:16:26
浏览次数:35
分类:技术文章
本文共 2462 字,大约阅读时间需要 8 分钟。
非对称加密简介:
对称加密算法在加密和解密时使用的是同一个秘钥; 而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是 公开密钥(public key,简称公钥) 私有密钥(private key,简称私钥)
常用的DES、三 重DES、AES等都属于对称加密; RSA, EI Gamal, ECC, Knapsack, etc 都属于非对称加密;
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。 公开密钥与私有密钥是一对。 如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密; 如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。 因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
简单理解: 加密 公钥加密——私钥解密 数字证书 私钥签名——公钥验证
使用秘钥登录linux:
一、在windows上使用 SSH Secure Shell Client 用密钥认证登录linux服务器 1.在 SSH Secure Shell Client 上选择 Edit->settings->Keys
2. 点击“Generate New” 可选择 rsa dsa两种加密方式 3. 输入生成Key的文件名和注释,打算使用空密码登录则Passphrase中不输入密码 4. 完成
5. 登录SSH Server,进入/root目录 再到Edit->Settings->key下,选择”upload”刚才的秘钥 这样就把公钥上传到服务器了 z
6. 因为SSH Server是Linux,而SSH Secure Shell Client客户端上Windows,所以密钥需要进行格式转换 并把公钥追加到 authorized_keys中 cd $HOME/.ssh/ ssh-keygen -i -f xxx.pub >> authorized_keys
7. 修改sshd_config sudo vi /etc/ssh/sshd_config 让这几项生效: RSAAuthentication yes 设置是否使用RSA算法进行安全验证 PubkeyAuthentication yes 设置是否使用公钥进行安全验证 AuthorizedKeysFile %h/.ssh/authorized_keys 这里确定公钥的位置 可选择关闭输入pasword认证: PasswordAuthentication no 8. 重启sshd服务 sudo service sshd restart 9. 连接即可,自己生成的keys在c:\Users\<username>\AppData\Roaming\SSH\UserKeys中
二、服务器之间配置免密 秘钥登陆
1.生成公钥私钥 $ ssh-keygen -t rsa -f ~/.ssh/id_rsa 指定秘钥类型 目录 名字
Generating public/private rsa key pair.
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa. 私钥
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. 公钥
The key fingerprint is:
38:95:cf:a6:78:37:ea:77:3a:20:a1:13:db:3f:2a:72 hadoop@master.hadoop
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . |
| o |
| . .o o |
| =o.S + |
| + oo.o |
| ..oo.o |
| . E .ooo.. |
| o ..ooo.+ |
+-----------------+
2.将公钥拷贝到 /home/hadoop/.ssh/authorized_key 中
#cat /home/hadoop/.ssh/id_rsa.pub>>/home/hadoop/.ssh/authorized_key 设定权限
#chmod 600 ~/.ssh/authorized_key
3.修改stricthostkeychecking 参数 StrictHostKeyChecking"如果设为"yes",ssh将不会自动把计算机的密匙加入"$HOME/.ssh/known_hosts"文件,且一旦计算机的密匙发生了变化,就拒绝连接。
可以修改全局变量 vi /etc/ssh/ssh_config 在这里设置 StrictHostKeyChecking no
也可以只修改用户的ssh环境 新建 ~/.ssh/config Host 0.0.0.0 StrictHostKeyChecking no
最后改下权限
chmod 600 ~/.ssh/config
总结注意事项
1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。我开始图省事就这么干了
2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys
3、linux之间的访问直接 ssh 机器ip
4、某个机器A生成自己的RSA或者DSA的数字签名,将公钥给目标机器B,然后B接收后设定相关权限(公钥和authorized_keys权限),这个B就能 被生成数字签名的机器A无密码访问了
转载地址:https://blog.csdn.net/zonghua521/article/details/78198163 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月29日 05时58分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于SSM的兼职论坛系统的设计与实现
2019-04-30
基于java的图书管理系统的设计与实现
2019-04-30
基于java的SSM框架理财管理系统的设计与实现
2019-04-30
基于java的ssm框架就业信息管理系统的设计
2019-04-30
基于java的ssm框架的旅游网站设计与实现
2019-04-30
基于java的SSM框架的流浪猫救助网站的设计与实现
2019-04-30
基于java的SSM框架的教务关系系统的设计与实现
2019-04-30
别再问我什么是A/B测试了!
2019-04-30
如何用同期群分析模型提升留存?(Tableau实战)
2019-04-30
爱了,吹爆这个高颜值的流程图工具!
2019-04-30
一个数据项目
2019-04-30
基于JAVA_JSP电子书下载系统
2019-04-30
基于java出租车计价器设计与实现
2019-04-30
基于java的B2C的网上拍卖系统
2019-04-30
十二时辰篇:这该死的 996
2019-04-30
2021最新 上海互联网公司排名
2019-04-30
字节vs快手!取消大小周之战
2019-04-30
送一个闲置显示器!
2019-04-30
Oracle 行转列 pivot函数基本用法
2019-04-30
Oracle字符串分隔符替换(替换奇数个或偶数个)
2019-04-30