从 Mac 到 Ubuntu 执行 ssh

zku*_*rtz 2 ssh mac 12.04

终于 ssh localhost在我的 Ubuntu 机器上成功运行了,我现在无法从 Mac 远程进入 Ubuntu。

准备:

  1. 在我的路由器上,将端口 22 转发到我的 Ubuntu 机器。
  2. 将我的 mac id_rsa.pub 复制到ubuntu:~/.ssh/authorized_keysusing 中cat
  3. 在包括MyMacUserIDubuntu:~/etc/ssh/sshd_configAllowUsers线。

来自 Mac 的 SSH 命令: ssh -p 22 [ubuntu ip address]

Ubuntu 上的诊断: tail /var/log/auth.log

ubuntu sshd[18320]: Set /proc/self/oom_score_adj to 0
ubuntu sshd[18320]: Connection from ip.ip.ip.ip port 1024
ubuntu sshd[18320]: Invalid user MyMacUserID from ip.ip.ip.ip
ubuntu sshd[18320]: input_userauth_request: invalid user MyMacUserID [preauth]
ubuntu sshd[18320]: Connection closed by ip.ip.ip.ip [preauth]
Run Code Online (Sandbox Code Playgroud)

为什么调用 MyMacUserID 无效?同样奇怪的是:为什么它指的是端口 1024 而不是 22?有任何想法吗?

ter*_*don 8

您正在连接到 Ubuntu 机器,而不是您的 mac,因此您需要改用 Ubuntu 的用户名。该消息意味着您正在尝试以macuser(或任何您的用户名)身份登录,并且macuser在 Ubuntu 机器上没有。因此,假设您以 身份登录 Ubuntu ubuntuuser,请尝试:

ssh ubuntuuser@1.2.3.4
Run Code Online (Sandbox Code Playgroud)

此外,无需指定端口 22,这是默认设置。您也不需要将端口 22 转发到 Ubuntu 机器,除非您想从本地网络外部进行连接。至于1024端口,忽略它,是连接客户端(你的mac)的源端口,而不是你的Ubuntu机器的目标端口。


Jak*_*uje 7

您需要指定远程用户(来自上一个问题):

ssh -p 22 -l me [ubuntu ip address]
Run Code Online (Sandbox Code Playgroud)

SSH 默认使用当前登录的用户,在另一台机器上显然不同。您也可以跳过端口,因为它是默认的并像这样使用它:

ssh me@[ubuntu ip address]
Run Code Online (Sandbox Code Playgroud)

同样奇怪的是:为什么它指的是端口 1024 而不是 22?有任何想法吗?

这描述了远程端口而不是本地端口。ssh 客户端使用的端口可能会有所不同,因为它是动态分配的。