终于得到了 ssh localhost
在我的 Ubuntu 机器上成功运行,现在我无法从 Mac 远程进入 Ubuntu。
准备:
- 在我的路由器上,将端口 22 转发到我的 Ubuntu 机器。
- 将我的 mac id_rsa.pub 复制到
ubuntu:~/.ssh/authorized_keys
使用中cat
。 - 将 MyMacUserID 包含在
ubuntu:~/etc/ssh/sshd_config
上面AllowUsers
。
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]
为什么它调用的 MyMacUserID 无效?同样奇怪的是:为什么它引用的是端口 1024 而不是 22?有什么想法吗?
答案1
您正在连接到 Ubuntu 机器,而不是您的 Mac,因此您需要使用 Ubuntu 的用户名。该消息意味着您正在尝试以 身份macuser
(或您的用户名)登录,但 Ubuntu 机器上没有macuser
。因此,假设您以 身份登录 Ubuntu ubuntuuser
,请尝试:
ssh [email protected]
另外,无需指定端口 22,这是默认端口。您也不需要将端口 22 转发到 Ubuntu 计算机,除非您想从本地网络之外进行连接。至于端口1024
,请忽略它,这是连接客户端(您的 mac)的源端口,而不是您的 Ubuntu 计算机的目标端口。
答案2
您需要指定远程用户(来自上一个问题):
ssh -p 22 -l me [ubuntu ip address]
SSH 默认使用当前登录的用户,而另一台机器上的情况显然不同。您也可以跳过端口,因为它是默认端口,并像这样使用它:
ssh me@[ubuntu ip address]
同样奇怪:为什么它指的是端口 1024 而不是 22?有什么想法吗?
这描述的是远程端口,而不是本地端口。ssh 客户端使用的端口可能会有所不同,因为它是动态分配的。