我從 Google Compute Engine(Google 的雲端服務)中的一個盒子開始,其中有一個名為 xyz 的帳戶和一個臨時 IP 位址。
假設臨時 IP 位址是 2.3.4.5。
在開始以下程序之前,我能夠登入[電子郵件受保護]有密碼。
然後我附加了一個靜態 IP 位址。假設靜態 IP 位址是 1.2.3.4。
然後我輸入
my@localbox:~$ ssh-copy-id [email protected]
該命令似乎掛起,所以我殺死了終端。
然後我做了一個簡單的
my@localbox:~$ ssh [email protected]
沒有提示我輸入密碼就成功了。
我假設我的密鑰已進入我的authorized_keys,所以我這樣做了
xyz@cloudbox:~$ ls -al
令我驚訝的是,.ssh 僅包含known_hosts 文件,而不包含authorized_keys 文件。
另外,命令
my@localbox:~$ ssh-copy-id [email protected]
當我嘗試時仍然掛起,所以這不僅僅是一個隨機的僥倖。
如果沒有 .ssh/authorized_keys 文件,我如何能夠在沒有密碼的情況下登入此帳戶?與ssh-copy-id掛起的原因有關嗎?
答案1
問題在於後台運行的 SSH 控制主會話。 ssh-copy-id 與 control master 掛起是已知的錯誤。