SSH远程管理
一、SSH远程管理基础
2、优点:
-
数据传输是加密的,可以防止信息泄漏
-
数据传输是压缩的,可以提高传输速度
3、SSH公钥传输原理
-
-
服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
-
客户端生成密钥对
-
客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
-
客户端发送加密值到服务端,服务端用私钥解密,得到Res
-
服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
-
4、登录方法
ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port
命令 + 端口号
5、文件配置
1 | vim /etc/ssh/sshd_config#Port 22 生产建议22端口#AddressFamily any 默认任何地址可访问#ListenAddress 0.0.0.0 监听所有地址的ipv4地址#SyslogFacility AUTHPRIV 默认日志位置输出到rsyslog服务的AUTHPRIV中#Authentication 身份验证模块#LoginGraceTime 2m 默认验证用户登录失败后等待时间为2秒#PermitRootLogin yes 默认允许使用root账户登录#MaxAuthTries 6 默认最多可以尝试连接失败6次#MaxSessions 10 默认最大可连接10个会话#PubkeyAuthentication yes 基于key验证默认为开启 |
二、免密连接
1、免密连接原理
第一步:手动添加客户端的公钥到服务端
第二步:服务端收到客户端的公钥后使用客户端公钥加密一串随机字符串发送给客户端
第三步:客户端收到服务端发送的加密的随机字符串使用自己的私钥解密返回给服务端进行验证
第四步:服务端验证客户端发送来的随机字符串一致则同意建立连接
将密钥发送给服务器
验证免密登录
本文作者:twistfate123
本文链接:https://www.cnblogs.com/trist-commot/p/16991406.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步