Ssh

嘗試從 VM Ubuntu SSH 到遠端伺服器

  • April 25, 2019

我需要 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).

如果要在遠端伺服器上配置基於密鑰的身份驗證,則需要實際將密鑰添加到其中。

您可以使用ssh-copy-id以下語法在大多數發行版中使用它來執行此操作:

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,您必須按照此處的說明進行操作。

引用自:https://unix.stackexchange.com/questions/515523