Linux
ssh 密碼在 macOS 上有效,但在 AWS Linux 上失敗。為什麼?
什麼可能導致我的 SSH 密碼在我的 AWS VM 上失敗,但在我的 Mac 筆記型電腦上工作正常,對於完全相同的密鑰對?見下文(為清楚起見添加了空白行)。密碼是複制/粘貼的,所以是相同的,不涉及拼寫錯誤。
320 ~/.ssh$ uname -a Darwin mbp.local 19.6.0 Darwin Kernel Version 19.6.0: Thu May 6 00:48:39 PDT 2021; root:xnu-6153.141.33~1/RELEASE_X86_64 x86_64 321 ~/.ssh$ ssh-keygen -y -f md.id_rsa Enter passphrase: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHR9AEY2NOLQBVM5uUAMsKMm2XUXnUoiESGvLTJ7tte86JUI8ZZVDmGxrlP [snip] 322 ~/.ssh$ scp md.id_rsa md.id_rsa.pub AWS:.ssh md.id_rsa 100% 2655 44.0KB/s 00:00 md.id_rsa.pub 100% 570 9.0KB/s 00:00 323 ~/.ssh$ ssh AWS Last login: Fri Jul 30 11:56:36 2021 from 10.50.30.167 421 AWS:~$ cd .ssh 422 AWS:~/.ssh$ uname -a Linux AWS.xyz.com 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 423 AWS:~/.ssh$ ssh-keygen -y -f md.id_rsa Enter passphrase: load failed
編輯添加,基於對版本的評論:macOS
OpenSSH_8.1p1, LibreSSL 2.7.3
LinuxOpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
正如@telcoM 在他們的評論中所描述的那樣,這可能就是問題所在。
那麼問題來了,怎麼解決呢?猜猜我可以在 Linux 端創建一個新的密鑰對..
@telcoM 上面的評論是正確答案,為了清楚起見,在此重複:
ssh-keygen
通常作為 OpenSSH 套件的一部分提供,並ssh -V
會告訴您 SSH 客戶端的版本,以及整個 OpenSSH 套件。雖然,由於 AWS 在其核心的版本號中有 .el6,這表明它可能正在執行 RHEL/OEL/CentOS 6.x,這是一個相當舊的發行版。我向甜甜圈打賭,MacOS 的 OpenSSH 明顯更新並支持一些加密/雜湊算法,這導致了 AWS 方面的問題。手冊頁包含“OpenSSH 是原始和免費 ssh 1.2.12 的衍生版本…”,這可能會被誤認為是一個版本。– 電信 7 月 30 日 21:41事實上,我們正在執行一個相當舊的 CentOS 6 版本,以支持其他舊軟體。