(有关此问题的大多数线程都与 AWS 或 GitHub 相关。我的两者都不是。它是一个简单的 Digital Ocean CentOS 8 服务器。)
我的旧 Macbook 连接到我的 SSH 服务器没有任何问题:,使用
ssh -2 -p 5555 -i /Users/Me/.ssh/id_rsa <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="80ede5c0b9b9aeb9b9aeb9b9aeb9b9" rel="noreferrer noopener nofollow">[email protected]</a>
(当然,出于隐私考虑,端口号和 IP 已更改。)
我买了一台新的 Macbook Pro,并像往常一样设置了 ssh-keygen
内容,然后手动将 id_rsa.pub
移动到服务器的 。 ssh/authorized_keys
。在服务器上,我以 root 用户身份登录时使用 nano 添加到授权 key 文件中。下面是以 root 用户身份登录时,.ssh
目录在服务器上的样子:
990971649 -rw-------. 1 root root 2722 Jul 7 07:52 authorized_keys
990971651 -rw-------. 1 root root 3389 Jan 10 2021 id_rsa
990971652 -rw-------. 1 root root 747 Jan 10 2021 id_rsa.pub
但是尽管将 id_rsa.pub 内容添加到服务器上的authorized_keys中,我还是收到此错误:
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ed8088add4d4c3d4d4c3d4d4c3d4d4" rel="noreferrer noopener nofollow">[email protected]</a>: Permission denied (publickey)
有关此问题的大多数线程已通过添加一些参数来“解决”,但我在服务器上的 ssh_config
设置似乎没问题......并且这适用于我的旧 Macbook!以下是服务器设置--
Protocol 2
Port 5555
LoginGraceTime 60
ClientAliveInterval 120
ClientAliveCountMax 3
MaxSessions 6
AllowUsers root
PermitEmptyPasswords no
PasswordAuthentication no
PermitRootLogin yes
X11Forwarding no
MaxAuthTries 6
IgnoreRhosts yes
AllowTcpForwarding no
AllowAgentForwarding no
Compression no
TCPKeepAlive no
UseDNS no
HostbasedAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey
还有什么可能出问题吗?
最佳答案
为了解决 OpenSSH 9.0p1 默认禁用使用 SHA-1 哈希算法的 RSA 签名的问题,您可以按照以下步骤修改 ssh_config 文件:
sudo vi /etc/ssh/ssh_config
将以下行添加到 ssh_config 底部:
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
关于SSH - 从 Mac OSX 到 CentOS 服务器的权限被拒绝(公钥)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72897568/