SSH 22

编程入门 行业动态 更新时间:2024-10-24 22:19:22

<a href=https://www.elefans.com/category/jswz/34/1766414.html style=SSH 22"/>

SSH 22

SSH远程登录协议
一.SSH服务
1.SSH基础
SSH服务器

SSH是一种安全通道协议,主要用于字符界面的远程登录,控制等,SSH协议会对双方通信数据进行加密,包括用户登录输入的口令,SSH是建立在应用层和传输层基础上的安全协议,对数据有着加密,压缩的优点,安全快速。

常见SSH协议

ssh软件包 openssh

ssh协议

centos7自带的软件,开机自启, sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)ftp 20 21,帮助我们实现远程连接

配置文件

/etc/ssh/

服务端配置文件

sshd_config

客户端配置文件

ssh_config

客户端:
Linux Client: ssh, scp, sftp,slogin

Windows Client:xshell, MobaXterm,putty, securecrt, sshsecureshellclient

SSH服务器主要包括SSH远程连接和ftp文件传输服务

相较于telnet,SSH更加安全,telnet的数据是明文传输的

ecdsa 代表加密算法 pub代表公钥

2.公钥传输原理
1.客户端发送连接请求

2.服务端返回自己的公钥x,以及一个会话id

3.客户端生成一个密钥对

4.客户端会用自己的公钥和会话id计算出一个res值,并用服务端的公钥加密

5.客户端发送加密值给服务端,服务端用私钥解密,得到res

6.服务端将解密后的res通过会话id计算出客户端的公钥

7.最终,双方都拥有三个密钥(自己的公私密钥和对方的公钥),之后通信的数据都会加密
 

ssh服务的最佳实践

建议使用非默认端口 22
禁止使用protocol version 1
限制可登录用户 白名单
设定空闲会话超时时长
利用防火墙设置ssh访问策略
仅监听特定的IP地址 公网 内网
基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs
使用基于密钥的认证
禁止使用空密码
禁止root用户直接登录
限制ssh的访问频度和并发在线数
经常分析日志 分离
6.使用密钥实现免密登录
客户端生成公钥和私钥,将其发送给服务端,实现免密登录

具体流程:

1.客户端生成一对密钥

2.将密钥拷贝给服务端

3.客户端再次发送请求,ip用户名

4.服务端得到请求会在authorized_keys()中查找,如果有对应的ip用户名,会随机生成字符串

5.服务端使用拷贝过来的客户端公钥加密,发送给客户端

6.客户端得到后用私钥解密,将解密后的字符串发送给服务端

7.服务端收到后确认,如果一致,进行连接
 

更多推荐

SSH 22

本文发布于:2023-12-03 20:54:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1657547.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:SSH

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!