|
|
1)停止 sshd 服务。9 u. }, G- T* x0 E0 I* S3 k& H
9 ]+ e& V" Q J- J% [ [/ iservice ssh stop% h$ |$ u4 D6 Y# [9 j. v
2)手动 debug 模式运行 sshd 。
p @3 T2 P6 p1 [+ D2 O4 }6 r) Q; l8 l! ?7 r( F% I
/usr/sbin/sshd -d -p 22
: X, J% T1 {+ _2 ^" h/ M3)运行失败,报错:) r6 J u) o1 r& L2 y
; a; ] n6 c# ?: m1 G
Could not load host key: /etc/ssh/ssh_host_ed25519_key
0 t7 k4 F v( @# @6 lMissing privilege separation directory: /run/sshd
2 W7 X' B4 x6 U1 S" ~4)添加 -h /etc/ssh/ssh_host_rsa_key 参数消除第1个报错。8 \- a! e$ C \0 i+ p
+ r, O! T- A9 H1 Q# W" }7 N
5)运行命令 mkdir systemd-tmpfiles --create 消除第2个报错。
+ @( F6 s& {! \' T/ p) `9 V7 f3 B. l. D; Q
6)用下面的命令成功运行 ssh 。
; A$ t5 A, Y6 B6 w* S2 I2 P1 _# `4 h- m d& @6 U
/usr/sbin/sshd -d -p 22 -h /etc/ssh/ssh_host_rsa_key( Y! |8 A7 }1 q
7)客户端 ssh 登录,手动 debug 模式运行的 sshd 报错。! d1 U: L. y& G: e$ X3 f
% h" Z& `" K) L6 W* E* Idebug1: list_hostkey_types: [preauth]4 |3 D: V/ B7 r% ]! t
No supported key exchange algorithms [preauth]* L5 G' r) I3 W% H# x8 H
debug1: do_cleanup [preauth]% d) s- O3 x' |5 q* ]0 m
8)从上面的报错信息找到线索,通过下面的操作解决了问题。6 ?( m2 a% e4 z% O S
( `( d. g2 o7 h* W删除 .ssh 目录
8 `, B2 U) G! W. n5 X" [rm -rf ~/.ssh1 o; | ]5 k1 [) T4 B
重新生成 ssh key
5 y$ A, y% u1 W4 h0 y- N8 jssh-keygen -t rsa
; Y+ e- f0 j2 {% e, u4 O重新添加客户端 ssh 公钥到 authorized_keys
7 x2 ]- y& X, }! O5 _! s0 F4 dvi ~/.ssh/authorized_keys
. c) y& l/ v3 v, H启动 sshd1 x- G! ^: H5 s2 ^3 {
service ssh start |
|