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 

再测试即可

相关推荐
oushaojun214 分钟前
现代linux gpio编程接口(by deepseek)
linux·libgpiod
皓木.30 分钟前
软件测试Linux
linux·运维·服务器
Deitymoon31 分钟前
linux——进程间的通信
linux
最好有梦想~33 分钟前
嵌入式Linux Lua使用ZeroBrane远程调试
linux·嵌入式硬件·lua
Magic--34 分钟前
进程间通信(IPC):原理、场景与选型
java·服务器·数据库
我爱学习好爱好爱39 分钟前
Ansible 详解:group模块、vars_files变量、user模块实战
linux·运维·ansible
独隅42 分钟前
Linux 系统下 ADB 环境 的详细安装步骤和基础设置指南
linux·运维·adb
wanhengidc42 分钟前
云手机 流畅稳定 操作简单
服务器·网络·网络协议·安全·智能手机
码农爱学习43 分钟前
使用cJosn读写配置文件
java·linux·网络
我命由我123451 小时前
Vite - Vite 最小项目
服务器·前端·javascript·react.js·ecmascript·html5·js