【SSH免密】Linux使用PublicKey公钥免密登录服务器

在SSH(Secure Shell)中,公钥(Public Key)和私钥(Private Key)是一对密钥,用于实现安全的身份验证和加密通信

  • 公钥(Public Key):可以公开分发,通常上传到服务器或其他客户端,服务器会将公钥存储在用户的授权文件(如~/.ssh/authorized_keys)中
  • 私钥(Private Key):必须严格保密,不能泄露。私钥用于在客户端进行身份验证,只有持有正确私钥的用户才能通过SSH连接到服务器

生成本地密钥

打开终端,运行以下命令:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制代码
-t rsa:指定密钥类型为RSA。
-b 4096:指定密钥长度为4096位,更高的位数意味着更强的安全性。
-C "your_email@example.com":添加注释,通常是用户的电子邮件地址,有助于识别密钥

系统会提示输入文件名以保存密钥,默认保存路径为~/.ssh/id_rsa。还可以选择是否设置密码短语(passphrase),设置密码短语可以增加额外的安全层。

生成的密钥对包括:

复制代码
id_rsa:私钥文件。
id_rsa.pub:公钥文件

上传密钥到服务器

ssh-copy-id 是一个非常实用的命令行工具,用于将本地用户的公钥复制到远程服务器的 ~/.ssh/authorized_keys 文件中,从而实现免密登录。它简化了手动将公钥添加到远程服务器的过程,终端操作如下:

bash 复制代码
ssh-copy-id -i id_rsa.pub user_name@ip_address

完成操作后提示:
此时在服务器的./ssh/authorized_keys文件中记录了公钥

后续ssh就免密了

相关推荐
tedcloud1235 小时前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
Databuff6 小时前
AI SSH工具,集齐SSH、SFTP、知识库RAG、AI助手
网络·人工智能·ssh
Emily156853598707 小时前
ABB CI867K01 3BSE043660R1
服务器·plc·dcs·abb·ci867k01·3bse043660r1·工控模块
Java陈序员8 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
bosins8 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
企鹅的蚂蚁9 小时前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can
2601_9622998810 小时前
Linux执行Python脚本方法
linux·python·脚本·解释器·shebang
snow@li10 小时前
服务器运维:Linux命令速查手册(全景梳理)
linux·服务器·网络
handler0110 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
布莱克60510 小时前
TCP 三次握手与四次挥手详解
服务器·网络·tcp/ip·计算机网络·网络编程