SSH 免密登录

SSH

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能

SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令

SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

SSH免密登录

通过配置 服务器之间ssh免密登录实现服务器互相访问无须输入密码、 这样可以将服务器之间的文件传输在脚本中实现。

配置方式

A服务器地址: 192.168.1.21

B服务器地址: 192.168.1.22

A免密登录B (A服务器下ssh 192.168.1.22 无需密码)

在A服务器生成密钥文件(三下回车)

bash 复制代码
ssh-keygen -t rsa

此时会在A服务器当前用户家目录下生成两个文件

bash 复制代码
cd ~/.shh

id_rsa 此文件为私钥

id_rsa.pub 此文件为公钥

此时将公钥文件的内容写入到其他服务器用户家目录中authorized_keys 文件中、就可以实现当前服务器免密登录其他服务器。

我们将公钥传入B服务器

bash 复制代码
ssh-copy-id 192.168.1.22

将id_rsa.pub copy到B服务器 用户家目录下 .ssh 文件夹中 追加到authorized_keys 文件中(建议copy后重命名 避免与B服务器中公钥冲突)

bash 复制代码
cat id_rsa.pub > authorized_keys

A服务器查看公钥 并复制内容

bash 复制代码
cat id_rsa.pub 

B 服务器编辑 authorized_keys文件 直接粘贴在最后放

bash 复制代码
vi authorized_keys

此时 A向B免密连接配置完成

A ssh B 无需密码

如需要B向A 则反向操作、 B生成公钥 、写入到A的 authorized_keys 文件中

关于.ssh中的文件

authorized_keys :存放免密登录的公钥(其他服务器公钥)

id_rsa : 当前服务器私钥

id_rsa.pub :当前服务器公钥

known_hosts 记录曾经远程连接的机器信息

相关推荐
Alex艾力的IT数字空间3 小时前
在 Kylin(麒麟)操作系统上搭建 Docker 环境
大数据·运维·缓存·docker·容器·负载均衡·kylin
陳10304 小时前
Linux:进程间切换与调度
linux·运维·服务器
SilentSamsara6 小时前
TCP 三次握手:连接建立失败的那些坑
运维·服务器·网络·网络协议·tcp/ip
code tsunami7 小时前
如何在车辆数据自动化中解决Cloudflare Turnstile
运维·microsoft·自动化
翼龙云_cloud8 小时前
亚马逊云代理商:CloudWatch Agent 全解析 5 步实现服务器监控
运维·服务器·云计算·aws·云服务器
Cyber4K9 小时前
【Nginx专项】基础入门篇:状态页、微更新、内容替换、读取、压缩及防盗链
linux·运维·服务器·nginx·github
CoderJia程序员甲10 小时前
GitHub 热榜项目 - 日榜(2026-04-16)
ai·大模型·github·ai教程
Bruce_Liuxiaowei10 小时前
顺藤摸瓜:一次从防火墙告警到设备实物的溯源实战
运维·网络·网络协议·安全
IpdataCloud10 小时前
效果广告中点击IP与转化IP不一致?用IP查询怎么做归因分析?
运维·服务器·网络
逛逛GitHub11 小时前
GitHub 上刚开源的 Skill ,一句话控制你电脑上的软件。
github