找回密码
 注册
关于网站域名变更的通知
查看: 952|回复: 4
打印 上一主题 下一主题

ssh 公钥登录 linux 服务器总是提示要输入密码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-8-6 17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
% J$ Z9 v% O* F) H" C# a
使用 ssh 公钥登录一台 ubuntu 服务器提示要输入密码,公钥已经在服务器的 ~/.ssh/authorized_keys 文件中添加,请问如何解决这个问题?

该用户从未签到

2#
发表于 2021-8-6 17:46 | 只看该作者
在生成密钥对的过程中你被询问:输入密码短句 Enter passphrase (empty for no passphrase) ,密码短句(passphrase)是你使用一个短语或者一句话作为密码输入,再由系统内部的加密或是散列算法生成虚拟密码后,进行下一步的认证。好处是增强了安全性不易被破解。看过很多文章,里面都把这个短句输入为空,也就是代表不使用密码短句。在这里我强烈要求你输入密码短句。有人会说使用密码短句后,登陆还要输入密码短句这样使用没有比使用用户名和密码登陆方便多少,我说请你不要急,接着看我的文章。
- p4 d4 j% d+ I, `注意:如果你生成密钥对而不设置密码短语,那么如果你的私钥丢失了,那么就你的麻烦可能会比丢失用户名密码还严重。" A, b8 [2 o+ Y7 w8 z5 d. L
第二步:拷贝你的公钥到被管理的服务器上* @4 `9 m; S# w+ e: a
在你的管理服务器上把你的公钥拷贝到被管理服务器上要进行自动登陆的用户目录下。

该用户从未签到

3#
发表于 2021-8-6 18:24 | 只看该作者
那估计被人加密了吧

该用户从未签到

4#
发表于 2021-8-6 18:25 | 只看该作者
1)停止 sshd 服务。5 A1 R% e  o; U1 y
" [9 x6 i5 Q9 r1 q4 d, i( ?
service ssh stop( E: r4 r' g$ S3 R$ s- d" }
2)手动 debug 模式运行 sshd 。
' T$ b0 F0 w6 c0 x3 A# l3 v9 Q" r
' C3 j& c' [0 q9 U2 @: t/usr/sbin/sshd -d -p 22/ d% ?" c9 d# o8 B0 D7 ~/ l
3)运行失败,报错:0 h: L% W; {: S* B

' r  W8 o) k! [5 l0 t  w4 LCould not load host key: /etc/ssh/ssh_host_ed25519_key: i$ n/ O2 S( p  {
Missing privilege separation directory: /run/sshd! O) q2 n+ M2 Q6 r' l. l0 J* Q
4)添加 -h /etc/ssh/ssh_host_rsa_key 参数消除第1个报错。
3 r7 i( ~0 I0 v; s& j4 c5 o8 F) s- D- p" x
5)运行命令 mkdir systemd-tmpfiles --create 消除第2个报错。
, _' j! ?0 \1 C* g' H( T, x/ I% H/ t9 V9 d$ S4 }  A
6)用下面的命令成功运行 ssh 。8 b* \6 s  a6 x2 ?, e

6 e* Y4 P* k2 k! h/usr/sbin/sshd -d -p 22 -h /etc/ssh/ssh_host_rsa_key6 N3 W/ D$ K- Q7 y  x* l( J. J+ X$ y
7)客户端 ssh 登录,手动 debug 模式运行的 sshd 报错。
% |! `" ^" z3 V7 u3 n  ^1 [0 y  O2 C& ?7 d3 t
debug1: list_hostkey_types:  [preauth]
0 n- r. n$ p; ?) K' ANo supported key exchange algorithms [preauth]5 B( P3 \4 k0 {7 k; B: T% l
debug1: do_cleanup [preauth]
5 _  h2 o9 P2 a, h8)从上面的报错信息找到线索,通过下面的操作解决了问题。+ Q; h4 f) V# Y( }6 w

; A7 f5 b  ~& ]- @: |删除 .ssh 目录& m2 V9 ^# P* ^/ v$ i
rm -rf ~/.ssh
' ^* g2 P! ]. _3 `1 M重新生成 ssh key
0 C/ I) @( J* k* vssh-keygen -t rsa  c( A. C: F2 @
重新添加客户端 ssh 公钥到 authorized_keys3 \, C# I# b* T" Q9 L; ^# b
vi ~/.ssh/authorized_keys3 v# V# B, b& r+ {. [& N! u
启动 sshd2 N' y/ D( F0 b' r
service ssh start

该用户从未签到

5#
发表于 2021-8-13 15:17 | 只看该作者
检查一下服务器上的authorized_keys的权限,权限太开放sshd不认的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 03:18 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表