ssh免密登录服务器

一、免密登录原理

免密登录原理通过RSA公开密钥算法的一种应用。RSA是公开密钥密码体制的一种使用不同的加密密钥与解密密钥,"由已知加密密钥推导出解密密钥在计算上是不可行的"密码体制(非对称加密) 。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的。

通俗的来说就是同时生成公钥和私钥,私钥自己保存,公钥发给其他人。

二、配置ssh

1.生成密钥

进入~目录下,生成一对密钥,使用rsa通用密钥算法,这时需要有三次回车;

复制代码
ssh-keygen -t rsa
2.生成后文件介绍

这时出现几个文件,id_rsa.pub(publilc)公钥,id_rsa私钥,known_hosts是上几步输入ssh 192.168.41.102 产生的文件;

|-----------------|----------------------------|
| known_hosts | 记录ssh访问过计算机的公钥(public key) |
| id_rsa | 生成的私钥 |
| id_rsa.pub | 生成的公钥 |
| authorized_keys | 存放授权过的无密登录服务器公钥(后面会提到) |

3.将公钥复制到远程服务器

复制代码
ssh-copy-id -i ~/.ssh/id_rsa.pub user@localhost

其中user是用户名,localhost是目标服务器ip

4.ssh 效果展示

命令 ssh 连接其他机器,发现不需要密码

如果此时不行,则还需要在服务器电脑上执行指令

复制代码
chmod 600 ~/.ssh/authorized_keys 

再测试即可

相关推荐
杨靳言先1 小时前
✨【运维实战】内网服务器无法联网?巧用 SSH 隧道实现反向代理访问公网资源 (Docker/PortForwarding)
服务器·docker·ssh
chinesegf3 小时前
ubuntu中虚拟环境的简单创建和管理
linux·运维·ubuntu
java_logo3 小时前
2025 年 11 月最新 Docker 镜像源加速列表与使用指南
linux·运维·docker·容器·运维开发·kylin
一碗面4214 小时前
Linux下的网络模型
linux·网络模型
小镇学者4 小时前
【python】python项目是如何部署到服务器上的
服务器·python·github
HIT_Weston5 小时前
103、【Ubuntu】【Hugo】搭建私人博客:搜索功能(四)
linux·运维·ubuntu
2501_945837435 小时前
事件驱动无服务器,Knative重塑原子化运算
服务器
旖旎夜光5 小时前
Linux(11)(中)
linux·网络
yaoxin5211235 小时前
296. Java Stream API - 二元操作符与“单位元“
java·服务器·windows
txinyu的博客5 小时前
前置声明与 extern
linux·c++