在本機伺服器上產生 SSH 公鑰/私鑰

在本機伺服器上產生 SSH 公鑰/私鑰

今天,我使用公共 SSH 金鑰設定了 3 台伺服器(4 台包括發送 SSH 命令的伺服器),這樣我就可以自動化一些腳本

它適用於前 2 個系統,但不適用於第三個系統。

在本機伺服器上產生 SSH 公鑰/私鑰

root@local # ssh-keygen -t rsa
file > /var/.ssh_keys/id_rsa
passphrase > (empty)
root@local # ln -s /var/.ssh_keys/id_rsa /root/.ssh/id_rsa

將密鑰從本機伺服器附加到遠端主機

root@local # cat /var/.ssh_keys/id_rsa.pub | ssh root@host 'path="/var/.ssh_remote_key" && mkdir -p $path && cat >> $path/authorized_keys && ln -s $path/authorized_keys /root/.ssh/authorized_keys'

本地伺服器

# uname -a
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux

# sshd -V
OpenSSH_6.7p1 Debian-5, OpenSSL 1.0.1k 8 Jan 2015

遠端伺服器(工作)

# uname -a
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux

# sshd -V
OpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t  3 May 2016

遠端伺服器(仍提示輸入密碼)

# uname -a
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux

# sshd -V
OpenSSH_6.7p1 Debian-5+deb8u2, OpenSSL 1.0.1k 8 Jan 2015

CHMOD /root/.ssh = 0700
CHMOD /root/.ssh/authorized_keys = 0644

答案1

由於兩個遠端伺服器共用相似版本的 Unix/OpenSSH,因此問題可能出在資料夾permission中的檔案中.ssh

請確認:

  • .ssh目錄權限不可寫入群組/其他(例如 700(drwx------) 或 755(drwxr-xr-x)
  • 公鑰(.pub 文件)並且authorized_keys是 644(-rw-r--r--)
  • 私鑰(id_rsa)為 600(-rw-------)

如果您嘗試登入root遠端伺服器,您也應該確認/etc/ssh/sshd_config包含PermitRootLogin yesPermitRootLogin without-password

相關內容