我有一个 VPS,我以前曾使用终端访问过。当我打开终端时,我得到
上次登录:8 月 29 日星期二 04:02:48,登录于 ttys002 Mac-mini:~ administator$
我在谷歌上搜索到的所有文章都说使用
远程控制[电子邮件保护]
当我输入密码时,这会返回权限被拒绝(我 100% 确定密码和用户名是正确的)。我知道原因是终端无法从 Mac 中获取信息。过去,我发现需要先输入一个命令,然后才能输入“ssh[电子邮件保护]“。就好像我必须输入一个命令来退出 Mac 的本地主机,然后输入 ssh 服务器信息。
我的问题是,有人知道这个命令是什么吗?我搜遍了 Google,但找不到之前找到的信息,而且我收藏的页面也被删除了。
谢谢你!!
答案1
假设 VPS 托管在 AWS 上,您所说的缺少的命令将是访问文件 (.PEM) 文件的路径。例如:
ssh -i path/to/AccessKey.pem [email protected]
详细信息在这里:https://99robots.com/how-to-ssh-to-ec2-instance-on-aws/
答案2
如果您从 Mac 终端使用 ssh,您将打算连接到运行 sshd(ssh 守护程序)的远程服务器。
为了实现这一点,需要做好以下几点:
- 你应该在网络上(你有一个 IP 地址和路由器,DNS 很有帮助)
- 远程服务器应该在网络上
- 这些网络应该以一种可以进行通信的方式互连。
netstat -nr
将显示 osx、linux 和 windows 上的路由表(前提是允许 netstat)traceroute
并且ping
可能会有所帮助,但在互联网上这些通常会被阻止。 - 如果您在公司工作,那么 ssh 可能不被允许。
- 远程服务器可能不允许
- 中间的任何网络可能都不允许
如果以上所有情况均正常,那么您可以尝试telnet server 22
假设它在标准端口上运行,并且 Sierra 是最新 OSX。这将显示 tcp 连接。
现在开始 ssh。双方应该就各种细节达成一致。
- PasswordAuthentication 可能已关闭,或者密码可能存储在目录服务器中。
- 您不应该以 root 用户身份连接
- 应使用替代身份验证机制,密钥对非常常见,但令牌、证书、一次性密码、kerberos 也是可能的。我们不知道,但您的托管合作伙伴会知道。默认情况下使用密钥对。AWS 和 GCE 有自己的方式,每个方式都有指导页面。
- 您应该被允许访问 Mac 上的 ssh 及其文件,并且这些文件应该具有限制性文件权限。
- 你应该能够将 IP 地址添加到 ~/.ssh/known_hosts
- 如果您 Mac 上的 ssh 密钥位于主目录中的 (隐藏) 目录 .ssh 中。使用
ssh-keygen
创建一对并将 pub 文件发送给管理员。 - 如果您是本地管理员,则应将 pub 文件添加到需要登录的 Linux 用户的 authorized_keys 文件中。如果没有人可以使用 ssh,则需要控制台会话。其文件位置在 sshd_config 文件中提到,通常是 $HOME/.ssh/authorized_keys。
还有更神秘的情况,比如密码不兼容和版本不匹配,但如果两端都是最新的,上述内容应该可以帮助您找到问题。如果不是,您需要内部帮助,即 sshd 服务器上的 root 可以tail -f /var/log/secure
。