![Ubuntu 20.04 与 MacBook Air 之间的 SSH 链接](https://linux22.com/image/1195675/Ubuntu%2020.04%20%E4%B8%8E%20MacBook%20Air%20%E4%B9%8B%E9%97%B4%E7%9A%84%20SSH%20%E9%93%BE%E6%8E%A5.png)
我正在尝试通过互联网连接上的 SSH 链接连接我的 PC 和 MacBook Air。我已经研究了大约一个月,但遇到了一个失败点,所以我决定写一个问题来描述我的问题,以便其他人可以学习。
每次我重新安装 Ubuntu 20.04 时,操作系统都会自行安装 SSH 密钥,当我尝试使用它们的哈希值进行连接时,我不知道保护它们的密码。我只想替换它们,但当我这样做时,我收到以下错误:
kex_exchange_identification: read: Connection reset by peer
Connection reset by xxxx:xxxx:xxxxx:Xxxxx: port 22
[Process completed]
我现在比以前从论坛上学到了很多东西,但我就是搞不清楚如何绕过操作系统诞生时附带的这些 SSH 密钥。我的 Mac 强迫我玩猜密码游戏,这很令人沮丧,因为我没有制作需要知道密码的密钥,所以这是一场不可能的游戏。如果由我决定,我会制作没有密码的 SSH 密钥,并像他们那样设置我的系统 这里
但是当我按照上述说明操作时,这会将密钥放在不同的位置,而且我不需要服务器来添加密钥,我只想将一台计算机连接到另一台计算机而无需连接。我在论坛上找到的说明永远不适合我的情况,我被迫进行一项新的任务,而这项任务甚至与我想用我的电脑做的事情无关。我很感激你的帮助,但我知道你需要你的 kex……
编辑
现在我又找到了另一个解决办法。我重新建立了 OpenSSH 连接(我运行它sudo service ssh status
,它说一切正常),但我仍然无法弄清楚关键的难题。
我知道如何创建所有不同的密钥对,ssh-keygen
但正如我所说,当我重新建立 OpenSSH 时,3 个密钥对被放置在我的系统上,并具有额外的权限。我知道如何删除、复制和移动它们,但这没有帮助。说明告诉我,我需要连接到本地主机才能创建 ssh 连接。我到了可以运行的地步,ssh-copy-id <username>@<IPaddress>
但显示:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: WARNING:All keys were skipped because they already exist on the remote system.
(If you think this is a mistake, you may want to use -f option)
我还可以运行:
ssh-copy-id -i <key-name>.pub <username>@<IPaddress>
但这会返回:
/usr/bin/ssh-copy-id: ERROR: failed to open ID file '<key-name>.pub': No such file
那是在运行 Ubuntu 22.04 的电脑上。
在 Macbook Air 上,我进入 Finder,从菜单中选择“前往”,选择“连接到服务器”,输入ssh://<hostname>.local
后我收到消息:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:<super-secret-AT&T-fingerprint-that-you-probably-have-to-pay-for>.
Please contact your system administrator.
Add correct host key in /Users/<sexy-boy>/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /Users/<sexy-boy>/.ssh/known_hosts:26
Host key for <my-puder>.local has changed and you have requested strict checking.
Host key verification failed.
[Process completed]
我无法在 Mac 上忽略此消息。我已将我制作的每个密钥添加到“known_hosts”文件中,但我认为问题是 AT&T 在他们为我提供的服务中提供的 SSH 服务器上有自己的密钥对。我不知道如何将我的密钥添加到此服务器。我根本不明白我为什么需要服务器。我只是想在没有网络共享和加密连接的情况下从我的 Macbook Air 到我的 Linux 建立 ssh 隧道。我这样做是为了挑战,但我花了近 5 年时间在这些愚蠢的网站上阅读和打字,这些网站只是试图让你从厌倦了付费写作的劳累过度的开源作家那里购买毫无价值的服务。我 99% 肯定我在这些在线项目上迈出的每一步都会导致 12 步的倒退,我真的不明白为什么有人会在互联网上向任何人支付任何费用。
答案1
答案2
我认为您必须联系服务器所有者才能获得正确的公钥。我刚刚遇到了这个问题,然后进入服务器,恢复了正确的密钥并将其放入我的已知主机文件中。瞧,现在我可以毫无问题地使用 ssh 了