设计网站公司 都赞湖南岚鸿案例10郑州百度seo网站优化
设计网站公司 都赞湖南岚鸿案例10,郑州百度seo网站优化,市政浙江建设培训中心网站,夹江发布app#x1f343; 予枫#xff1a;个人主页#x1f4da; 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》#x1f4bb; Debug 这个世界#xff0c;Return 更好的自己#xff01; 引言 做Linux运维或后端开发#xff0c;远程连接服务器是日常操作。密码登录不仅要反复… 予枫个人主页 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》 Debug 这个世界Return 更好的自己引言做Linux运维或后端开发远程连接服务器是日常操作。密码登录不仅要反复输入密码还存在被暴力破解的风险而SSH密钥认证既能实现免密登录提升效率又能通过加密机制保障连接安全。今天就从原理到实操拆解SSH对称与非对称加密手把手教你用ssh-keygen生成密钥对、ssh-copy-id配置免密再对比scp与rsync的远程传输用法新手也能快速上手。文章目录引言一、SSH远程与密钥认证核心原理1.1 对称加密1.2 非对称加密1.3 SSH密钥认证的完整流程必懂二、免密登录配置ssh-keygenssh-copy-id实操2.1 第一步客户端生成密钥对ssh-keygen执行结果说明2.2 第二步将公钥上传到服务器ssh-copy-id手动上传备用方案如果ssh-copy-id不可用2.3 第三步验证免密登录三、scp与rsync远程文件传输同步详解3.1 scp命令简单直接适合少量文件传输核心用法3种常用场景scp优势与不足3.2 rsync命令高效灵活适合大量文件/同步场景核心用法常用场景rsync优势与不足scp与rsync对比总结建议收藏四、常见问题与避坑技巧必看五、总结一、SSH远程与密钥认证核心原理SSHSecure Shell是一种加密的网络传输协议核心作用是实现客户端与服务器之间的安全远程连接替代了明文传输的Telnet协议避免了数据被监听、篡改的风险。其加密机制主要分为两种对应不同的使用场景1.1 对称加密对称加密又称单密钥加密核心特点是「加密和解密使用同一个密钥」。原理客户端与服务器协商好一个共同的密钥客户端发送数据时用该密钥加密服务器接收后用同一个密钥解密反之亦然。优势加密、解密速度极快适合大量数据传输场景。不足密钥的传输的过程存在安全隐患——如果密钥在传输中被截取攻击者就能破解所有加密数据。小贴士SSH不会单独使用对称加密通常会结合非对称加密解决密钥传输的安全问题。1.2 非对称加密非对称加密又称双密钥加密核心特点是「加密和解密使用不同的密钥」分为公钥Public Key和私钥Private Key私钥仅保存在客户端本地是核心密钥绝对不能泄露相当于你的“身份证”只有你自己拥有。公钥可以公开传输甚至可以分享给任意服务器相当于你的“名片”别人可以持有但无法用它冒充你。原理用公钥加密的数据只能用对应的私钥解密用私钥加密的数据只能用对应的公钥解密。SSH密钥认证就是基于这个原理实现的。1.3 SSH密钥认证的完整流程必懂客户端通过ssh-keygen生成一对密钥公钥私钥客户端将自己的公钥通过ssh-copy-id或手动方式上传到目标服务器客户端发起SSH连接请求时服务器会生成一个随机字符串并用客户端上传的公钥加密发送给客户端客户端接收后用自己的私钥解密该字符串再将解密后的结果发送回服务器服务器验证客户端返回的结果与自己生成的随机字符串一致就允许客户端免密登录。重点整个过程中私钥始终保存在客户端从未传输过因此即使公钥被截取也无法破解连接安全性拉满 ✅二、免密登录配置ssh-keygenssh-copy-id实操实操环境客户端Linux/Mac、服务器LinuxCentOS/Ubuntu均可全程命令行操作步骤简单跟着敲就行建议收藏备用2.1 第一步客户端生成密钥对ssh-keygen打开客户端终端输入以下命令无需修改默认参数全程回车即可ssh-keygen -t rsa命令解析ssh-keygen生成SSH密钥对的核心命令-t rsa指定加密算法为RSA最常用、兼容性最好也可选择ed25519安全性更高。执行结果说明会提示你“指定密钥保存路径”默认路径是~/.ssh/id_rsa私钥和~/.ssh/id_rsa.pub公钥直接回车即可会提示“设置密钥密码”可选如果设置每次使用私钥登录时需要输入密码进一步提升安全性如果追求极致便捷直接回车跳过建议运维场景跳过开发场景可设置执行完成后进入~/.ssh目录即可看到生成的两个密钥文件id_rsa私钥妥善保管不要删除、不要泄露id_rsa.pub公钥后续需要上传到服务器。2.2 第二步将公钥上传到服务器ssh-copy-id客户端终端输入以下命令将公钥一键上传到目标服务器无需手动复制粘贴ssh-copy-id 用户名服务器IP示例ssh-copy-id root192.168.1.100root是服务器用户名192.168.1.100是服务器IP首次执行时会提示“确认连接服务器”输入yes回车再输入服务器的登录密码仅这一次需要输密码后续免密执行成功后会提示“number of key(s) added”表示公钥已成功上传到服务器。手动上传备用方案如果ssh-copy-id不可用如果服务器禁止ssh-copy-id命令可手动复制公钥内容到服务器步骤如下客户端查看公钥内容cat ~/.ssh/id_rsa.pub复制输出的全部内容登录服务器进入~/.ssh目录如果没有该目录执行mkdir ~/.ssh创建编辑authorized_keys文件如果没有执行touch ~/.ssh/authorized_keys创建vim ~/.ssh/authorized_keys将复制的公钥内容粘贴到文件中保存退出vim操作按i编辑粘贴后按Esc输入:wq保存退出设置文件权限关键否则密钥认证无效chmod700~/.sshchmod600~/.ssh/authorized_keys2.3 第三步验证免密登录客户端终端输入SSH连接命令无需输入密码即可直接登录服务器ssh用户名服务器IP示例ssh root192.168.1.100如果能直接进入服务器终端说明免密登录配置成功温馨提示配置完成后建议点赞收藏后续远程连接直接复制命令省去输密码的麻烦。三、scp与rsync远程文件传输同步详解配置好SSH免密登录后除了远程登录我们还经常需要在客户端与服务器之间传输文件scp和rsync是最常用的两个命令各有优势按需选择即可。3.1 scp命令简单直接适合少量文件传输scpSecure Copy是基于SSH协议的文件传输命令核心特点是「简单、稳定」适合少量文件、单个文件的快速传输用法和cp命令类似。核心用法3种常用场景客户端 → 服务器上传文件scp本地文件路径 用户名服务器IP:服务器目标路径示例scp ~/test.txt root192.168.1.100:/root/将本地家目录的test.txt上传到服务器root目录下服务器 → 客户端下载文件scp用户名服务器IP:服务器文件路径 本地目标路径示例scp root192.168.1.100:/root/data.zip ~/Downloads/将服务器root目录的data.zip下载到本地Downloads目录传输目录加-r参数# 客户端上传目录到服务器scp-r 本地目录路径 用户名服务器IP:服务器目标路径# 示例scp -r ~/project root192.168.1.100:/root/scp优势与不足优势命令简单无需额外安装Linux/Mac默认自带传输过程加密安全性高不足不支持断点续传如果传输大文件时中断需要重新传输效率较低。3.2 rsync命令高效灵活适合大量文件/同步场景rsyncRemote Sync也是基于SSH协议的工具核心特点是「增量同步」适合大量文件、大文件传输以及定期同步场景效率比scp更高。核心用法常用场景安装rsync如果未安装CentOSyum install rsync -yUbuntuapt install rsync -y客户端和服务器都需要安装部分系统默认已安装。客户端 → 服务器上传/同步目录rsync-avz 本地目录路径 用户名服务器IP:服务器目标路径示例rsync -avz ~/project root192.168.1.100:/root/命令解析-a归档模式保留文件的权限、所有者、时间戳等属性等同于-rlptgoD-v显示传输过程 verbose可以看到哪些文件正在传输-z传输时压缩文件减少网络带宽占用提升传输速度。服务器 → 客户端下载/同步目录rsync-avz 用户名服务器IP:服务器目录路径 本地目标路径示例rsync -avz root192.168.1.100:/root/logs ~/将服务器logs目录同步到本地家目录。rsync优势与不足优势支持增量同步只传输修改过的文件/内容支持断点续传传输大文件、大量文件时效率远超scp不足命令参数比scp多入门稍复杂但掌握-avz三个核心参数就能满足90%的日常需求。scp与rsync对比总结建议收藏特性scprsync核心功能简单文件传输增量文件同步传输断点续传不支持支持压缩传输可选-C参数支持-z参数传输效率适合少量/单个文件适合大量/大文件易用性高命令简单中核心参数易掌握总结少量文件用scp快速便捷大量文件、定期同步用rsync高效省带宽 ✅四、常见问题与避坑技巧必看配置免密登录后仍然需要输密码排查1服务器~/.ssh目录权限是否为700authorized_keys文件权限是否为600权限过高/过低都会导致密钥认证失效排查2客户端上传的公钥是否与服务器authorized_keys中的内容一致排查3客户端私钥路径是否正确默认是 ~/.ssh/id_rsa若修改过路径需要用-i参数指定ssh -i 私钥路径 用户名服务器IP。rsync传输时提示“permission denied”原因服务器目标路径的权限不足客户端用户没有写入权限解决修改服务器目标路径权限如chmod 777 /root/temp或切换到有写入权限的用户。密钥丢失/泄露怎么办私钥丢失客户端重新执行ssh-keygen生成新的密钥对重新上传公钥到服务器即可私钥泄露立即删除服务器authorized_keys中对应的公钥重新生成密钥对并上传避免攻击者利用泄露的私钥登录服务器。五、总结本文从SSH密钥认证的核心原理出发拆解了对称加密与非对称加密的区别详解了ssh-keygen生成密钥对、ssh-copy-id配置免密登录的完整实操步骤再对比了scp与rsync两种远程传输工具的用法和场景覆盖了Linux运维、后端开发中远程连接的高频需求。掌握SSH密钥认证既能告别反复输密码的麻烦提升工作效率又能大幅提升远程连接的安全性避免密码被暴力破解的风险而scp与rsync的灵活运用能让远程文件传输、同步更高效。新手建议先跟着实操步骤配置一遍免密登录再尝试用scp、rsync传输文件遇到问题可查看“常见问题”部分基本都能解决。✨ 我是予枫关注我下期带你解锁更多实用技术技巧 评论区留言你在配置SSH免密时遇到过哪些坑或者有更好的技巧欢迎一起交流 觉得本文对你有帮助记得点赞收藏避免下次找不到