EDA365电子论坛网

标题: ssh 公钥登录 linux 服务器总是提示要输入密码 [打印本页]

作者: Henriete11    时间: 2021-8-6 17:16
标题: ssh 公钥登录 linux 服务器总是提示要输入密码
% v3 f% A1 O0 [; e9 s+ ], K+ X
使用 ssh 公钥登录一台 ubuntu 服务器提示要输入密码,公钥已经在服务器的 ~/.ssh/authorized_keys 文件中添加,请问如何解决这个问题?
作者: vava    时间: 2021-8-6 17:46
在生成密钥对的过程中你被询问:输入密码短句 Enter passphrase (empty for no passphrase) ,密码短句(passphrase)是你使用一个短语或者一句话作为密码输入,再由系统内部的加密或是散列算法生成虚拟密码后,进行下一步的认证。好处是增强了安全性不易被破解。看过很多文章,里面都把这个短句输入为空,也就是代表不使用密码短句。在这里我强烈要求你输入密码短句。有人会说使用密码短句后,登陆还要输入密码短句这样使用没有比使用用户名和密码登陆方便多少,我说请你不要急,接着看我的文章。
* U3 H9 s4 c9 N+ S4 [8 h注意:如果你生成密钥对而不设置密码短语,那么如果你的私钥丢失了,那么就你的麻烦可能会比丢失用户名密码还严重。
+ w+ \- X: E1 g- F第二步:拷贝你的公钥到被管理的服务器上
6 W- t0 j/ _* Y  N4 f) X在你的管理服务器上把你的公钥拷贝到被管理服务器上要进行自动登陆的用户目录下。
作者: regngfpcb    时间: 2021-8-6 18:24
那估计被人加密了吧
作者: thinkfunny    时间: 2021-8-6 18:25
1)停止 sshd 服务。) S3 I1 J: n; }! D
8 Y! W! V, A1 B; Z7 D( z: u: f
service ssh stop
4 n6 p6 C9 {2 _2)手动 debug 模式运行 sshd 。& _4 a# l% x, ]$ S9 d' o
9 k; A5 ~: ~* W6 G+ R3 r
/usr/sbin/sshd -d -p 22
- o5 {6 V' {4 k3)运行失败,报错:  [9 [3 V. L+ Z' R" E
, M% d) p3 C3 H8 H7 E
Could not load host key: /etc/ssh/ssh_host_ed25519_key
" ?( f# V, U. k; U$ O# T# LMissing privilege separation directory: /run/sshd9 ~1 m; e% n/ ?- u5 [$ x$ q
4)添加 -h /etc/ssh/ssh_host_rsa_key 参数消除第1个报错。! D5 _, R2 W* ~. T& I

3 t5 }; e* H4 S5 B, g( h, |) R3 y5)运行命令 mkdir systemd-tmpfiles --create 消除第2个报错。
1 M5 N* m" r0 i3 @/ O( _- v! t5 R9 n
6)用下面的命令成功运行 ssh 。
4 \$ Q5 R! g& q5 D2 w8 B1 k) Z0 c7 \6 j
/usr/sbin/sshd -d -p 22 -h /etc/ssh/ssh_host_rsa_key2 V# `0 N4 U- n
7)客户端 ssh 登录,手动 debug 模式运行的 sshd 报错。
9 q) V6 Y: f) n$ n, K5 T, W
3 D- v7 Q0 _' f$ f1 ?debug1: list_hostkey_types:  [preauth]
$ I1 D% H: I* |* o) S( D8 T* mNo supported key exchange algorithms [preauth]
/ w: T7 I. j, m/ y" ~) N7 Qdebug1: do_cleanup [preauth]$ W, V  k% e# t1 k; O1 T
8)从上面的报错信息找到线索,通过下面的操作解决了问题。* L2 C9 t0 h1 k7 \0 R
1 w; i  G2 N3 v: c6 C
删除 .ssh 目录9 H- O3 [; J5 s3 Q- ?  D* l7 F
rm -rf ~/.ssh
! `. t" k; {  ]6 K重新生成 ssh key. s( o- {& x& u4 @% P
ssh-keygen -t rsa
; b( ~% s4 B/ y2 y. s! h4 W% h重新添加客户端 ssh 公钥到 authorized_keys9 P1 A5 h; i- h3 ~  N) a# Q9 M
vi ~/.ssh/authorized_keys
5 A- @6 Q2 \1 u% q启动 sshd
/ j3 h( c+ m7 ]( m" hservice ssh start
作者: fubuki    时间: 2021-8-13 15:17
检查一下服务器上的authorized_keys的权限,权限太开放sshd不认的




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2