尝试从 VM Ubuntu SSH 到远程服务器

尝试从 VM Ubuntu SSH 到远程服务器

我需要 ssh 到远程服务器。为此,我在 VirtualBox 中安装了全新的 Ubuntu。

首先我生成了我的公钥:

ssh-keygen -b -4096

然后尝试ssh:

ssh remote_user@remote_server

但我收到以下错误:

remote_user@remote_server: Permission denied (publickey).

不知道我错过了什么。

编辑:我运行ssh-copy-id remote_user@remote_server并收到以下错误:

/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: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
remote_user@remote_server: Permission denied (publickey).

答案1

如果您想在远程服务器上配置基于密钥的身份验证,您需要实际将密钥添加到其中。

您可以使用ssh-copy-id大多数发行版上可用的 which 来执行此操作,语法如下:

ssh-copy-id remote_user@remote_server

注意:您需要知道remote_user的密码才能完成此操作。

然后它会查找您的id_rsa.pub文件并将其添加到远程服务器的authorized_keys文件中。

如果您将密钥保存到其他位置,id_rsa.pub则可以使用以下命令指定此位置:

ssh-copy-id -i /path/to/custom_key.pub remote_user@remote_server

否则,您可以通过其他方式登录remote_server(密码登录)并手动将公钥的内容添加到authorized_keys文件中。

该文件位于~/.ssh/authorized_keys.

您可以使用以下命令从您的 ubuntu 虚拟机执行此操作(同样,只要您有remote_user的密码:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

许多云提供商要求您将密钥上传到其门户网站上的帐户,以将其添加到计算机的authorized_keys 文件中。他们经常阻止其他进行此更改的方法。

对于 Digital Ocean,您必须遵循说明这里

相关内容