Linux-SSH

1.SSH 完整工作流程(精简 + 角色清晰版)

1. 版本协商阶段

  • 客户端:发起连接,告诉服务器自己支持的 SSH 版本。
  • 服务器:回复自己支持的版本。
  • 结果:双方协商确定使用同一个 SSH 版本(一般是 SSH2)。

2. 密钥与加密算法协商阶段

  • 服务器 :把自己的主机公钥发给客户端。

  • 客户端:第一次连接时,保存服务器公钥到 known_hosts

    ​ 后续连接会对比公钥是否一致,防止假冒服务器。

  • 双方:协商确定共同支持的加密、哈希算法。

  • 双方 :共同生成一个临时会话密钥

  • 结果:后续所有数据都用这个会话密钥加密传输,保证安全。

3. 用户认证阶段(两种方式)

方式 1:密码认证

  • 客户端:加密发送用户名和密码给服务器。
  • 服务器:解密后验证账号密码是否正确。
  • 结果:正确则通过认证,失败则拒绝登录。

方式 2:密钥认证(免密)

  • 客户端 :事先把自己的公钥放到服务器的 authorized_keys
  • 服务器:生成一段随机字符串,用客户端公钥加密后发过去。
  • 客户端:用自己的私钥解密,再把结果加密返回给服务器。
  • 服务器:对比结果一致,则认证成功。
  • 结果:免密登录成功。

4. 会话请求阶段

  • 客户端:认证通过后,向服务器请求打开一个会话。
  • 服务器:允许会话建立。

5. 交互会话阶段

  • 客户端:输入命令,加密发送给服务器。
  • 服务器:执行命令,把结果加密返回给客户端。
  • 结果:双方安全、加密地交互,直到断开连接。

2.SSH服务配置

2.1主要文件

bash 复制代码
/etc/ssh/sshd_config


文件主要配置
#ssh服务安装包openssh-server
[root@server1 ~]# vim /etc/ssh/sshd_config
17.#Port 22 #监听端口,默认监听22端口 【默认可修改】
18.#AddressFamily any #IPV4和IPV6协议家族用哪个,any表示二者均有
19.#ListenAddress 0.0.0.0 #指明监控的地址,0.0.0.0表示本机的所有地址 【默认可修改】
20.#ListenAddress :: #指明监听的IPV6的所有地址格式
28.HostKey /etc/ssh/ssh_host_rsa_key # rsa私钥认证 【默认】
29.#HostKey /etc/ssh/ssh_host_dsa_key # dsa私钥认证
30.HostKey /etc/ssh/ssh_host_ecdsa_key # ecdsa私钥认证
31.HostKey /etc/ssh/ssh_host_ed25519_key # ed25519私钥认证
43.SyslogFacility AUTHPRIV #当有人使用ssh登录系统的时候,SSH会记录信息,信息保存
在/var/log/secure里面
48.#LoginGraceTime 2m #登录的宽限时间,默认2分钟没有输入密码,则自动断开连接
49.#PermitRootLogin yes #是否允许管理员远程登录,'yes'表示允许
51.#MaxAuthTries 6 #最大认证尝试次数,最多可以尝试6次输入密码。之后需要等待某段时间后才能再次输入
密码
52.#MaxSessions 10 #允许的最大会话数
59.AuthorizedKeysFile .ssh/authorized_keys #选择基于密钥验证时,客户端生成一对公私钥之后,会
将公钥放到.ssh/authorizd_keys里面
79.PasswordAuthentication yes #是否允许支持基于口令的认证
83.ChallengeResponseAuthentication no #是否允许使用键盘输入身份验证,也就是xshell的第三个登录
方式
129.#UseDNS yes #是否反解DNS,如果想让客户端连接服务器端快一些,这个可以改为no
146.Subsystem sftp /usr/libexec/openssh/sftp-server #支持 SFTP ,如果注释掉,则不支持sftp
连接
154.AllowUsers user1 user2 #登录白名单(默认没有这个配置,需要自己手动添加),允许远程登录的用
户。如果名单中没有的用户,则提示拒绝登录
相关推荐
云运维笔记3 小时前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
bosins3 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
web守墓人4 小时前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
码农学院4 小时前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio
kuroomi4 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
当下新鲜事4 小时前
空调机房冷冻泵与冷却泵技术分析:赛莱默B&G背包式智能变频管道泵的工程应用
运维·物联网·业界资讯
daemon.qiang5 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
Doris__HE6 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
2401_869769596 小时前
linux 权限 指令与权限(重启之后)
linux
码农客栈6 小时前
Linux CAN 驱动
linux·驱动开发