SSH协议和设置公钥免密登录
参考链接:https://zhuanlan.zhihu.com/p/665264294 作者:网络工程师俱乐部
1.什么是SSH?
SSH,即Secure Shell,安全外壳
SSH是一种网络通信协议,用于计算机之间的加密登录。
最早的时候,互联网通信都是明文通信,非常容易截获,基本属于白给(QQ早期经常有明文通信)。
1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
2.SSH登录原理
3.SSH基本用法
语法:
ssh -p 22 user@host
参数:
-p:指定端口号。
user:登录的用户名。
host:登录的主机。
默认的端口号为22,当端口号为22的时候,可以省略,直接使用如下方式:
ssh user@host
此外,如果本地正在使用的用户名与远程登录的用户名一致,登录用户名也是可以省略的,即如下:
ssh host
4.SSH远程登录实例
现在我有两台linux虚拟机,上面安装都是centOS6.5,ip分别为192.168.13.135和192.168.13.138,如下图:
现在,我需要操作的是通过SSH在192.168.13.138上面,登录到192.168.13.135上面。
首先,我们可以使用如下命令,查看两台机器是否启用了ssh。
netstat -ntlp |grep ssh
使用如下命令进行连接。
ssh -p 22 root@192.168.13.135
若在本机上是首次登录该远程主机,则会出现如下界面。
大致意思就是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?
输入yes即可。
然后输入密码,即可连接ok了。
要想退出,直接输入exit即可。
5.公钥免密登录
一、公钥加密
- 一个公钥对应一个私钥。
- 密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
- 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
- 如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
- Bob将他的公开密钥传送给Alice。
- Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
- Bob用他的私人密钥解密Alice的消息。
基于公开密钥的认证过程
- Alice用她的私人密钥对文件加密,从而对文件签名。
- Alice将签名的文件传送给Bob。
- Bob用Alice的公钥解密文件,从而验证签名。
自己的理解:公钥加密,私钥解密,公钥私钥都在服务端,用于客户端向服务器发送信息的信息加密,其他人可以拿到公钥,但是解析不了公钥加密后的明文。具体过程:1.客户端向服务端发送请求 2.服务端响应向客户端发送公钥 3.客户端通过公钥把需要发送的信息进行加密,将加密后的信息发送给服务端 4.服务端通过私钥把加密信息解密,解析出客户端想要发送的信息原文。 tips:存在漏洞,中间人攻击,截取客户端请求1,假冒服务端,完成后续流程。
私钥加密(准备说是私钥签名),公钥私钥都由客户端生成,需要将公钥存于服务端,用于身份认证(对暗号)。具体过程:1.客户端生成一对公钥私钥,将公钥保存到服务端2.客户端向服务端发送请求 3.服务端向客户端发送一串字符串(无实际意义)4.客户端将字符串通过私钥进行签名(加密),将加密后的字符串发给服务端5.服务端收到字符串后通过自己的公钥进行解密。解密后的文本和2步种服务端发送的字符串进行比对,比对成功即认证成功。
6.免密登录实操步骤(putty实现)
参考博客:https://blog.csdn.net/qq_39876685/article/details/131050415 作者:踢挨星球
坑:puttygen直接生成的公钥格式是这样的:
但是使用公钥导出的格式是这样的:
去掉注释都和上面不一样,刚开始用了下面的公钥导致server refused our key
先后排查了配置文件权限,修改日志级别,查看日志,查看防火墙,最后查看公钥配置才发现格式问题!
chmod 644 ~/.ssh/authorized_keys
tail -f /var/log/auth.log
vi /etc/ssh/sshd_config
sentenforce0
sysytemctl status firewalld
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix