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).
如果要在遠端伺服器上配置基於密鑰的身份驗證,則需要實際將密鑰添加到其中。
您可以使用
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,您必須按照此處的說明進行操作。