
解決了。user_B
這是主目錄上的群組可寫位欺騙了我。
我對此已經沒有想法了。每一個提示都將受到高度讚賞。
考慮這個設定:
S
運行 Ubuntu 的伺服器、使用者boldewyn
和user_A
user_B
- 兩台筆記型電腦
A
和B
,每台都有一個本機使用者boldewyn
(有一個id_rsa
登入金鑰S
)和第二個金鑰id_rsa_A
/id_rsa_B
。所有密鑰都儲存在/home/boldewyn/.ssh
.兩者都運行 Ubuntu。 user_A
如果密碼為空,user_B
則S
只能透過公鑰和 SSH 登入。+--------+ +-------------------+ +--------+ | laptop | | server | | laptop | | A | | S | | B | | | | | | | +--------+ SSH +-------------------+ SSH +--------+ |id_rsa_A|------------|< user_A user_B >|------------|id_rsa_B| +--------+ +-------------------+ +--------+ |id_rsa |------------|< boldewyn >|------------|id_rsa | +--------+ +-------------------+ +--------+
什麼有效:
從任何筆記型電腦登入
boldewyn
(使用id_rsa
和S:/home/boldewyn/.ssh/authorized_keys
A
以使用者身分從筆記型電腦登入user_A
(使用id_rsa_A
和S:/home/user_A/.ssh/authorized_keys
:ssh -i id_rsa_A user_A@S
)
我的問題:在筆記型電腦上,B
完全相同的設定失敗user_B
。我無法登錄S
,因為出於某種原因,密鑰不被接受並且出現密碼提示(user_B
沒有密碼,沒有選項)。
我檢查過的內容:
在筆記型電腦上
B
:- 檢查其權利
~/.ssh
及其所有內容 - 將公共部分放入
id_rsa_B
sboldewyn
和.authorized_keys
:ssh -i id_rsa_B boldewyn@S
有效(密鑰未損壞等) ssh -vvv
:嗯,並不是很有幫助:只是在某個時刻告訴我,它publickey
現在跳過了方法。沒有給出理由。
- 檢查其權利
在伺服器上
S
:- 三重檢查的
user_B
s.authorized_keys
文件 /home/*/.ssh
檢查了及其所有內容的權利(特別是比較user_A
和user_B
)- 檢查是否
$HOME
已設定(通過sudo -u user_B -i
) - 檢查,所有用戶都在
/etc/ssh/sshd_config
s中AllowUsers
(AllowGroups
順便說一下,)
- 三重檢查的
其他的東西:
我能想到的唯一區別user_A
是user_B
,我創建了後者adduser -M
(不要創建主目錄;它之前已經存在)。然而,我仔細檢查了一遍,/home/user_B
所有相關的孩子都屬於user_B
他的主要群體。
答案1
你有沒有仔細檢查過/home/user_B
(以及 和/home/user_B/.ssh
)/home/user_B/.ssh/authorized_keys
具有適當的權限:除用戶外不可寫,即模式 755 或更嚴格?
答案2
我認為這可能與您產生這些密鑰的方式有關。我會再試一次。金鑰是使用 ssh-keygen 工具產生的。也許當生成一組密鑰時,在生成過程中使用了密碼短語。當系統提示您輸入密碼時,您可以嘗試直接按 Enter 鍵。將該密鑰的 pub 部分複製到 ubuntu。確保刪除 .ssh/authorized_keys 檔案中的違規條目。第二個想法:如果 cat pub 文件,請確保使用 >>(追加)而不是 >(將 pub 文件複製到authorized_keys 文件時替換_。(cat id_rsa.pub >> .ssh/authorized_keys)。
我有點驚訝。我在工作中使用了我的方法,使用 Solaris 和 Cygwin,在家中使用由 Centos、Slackware、Debian 和 Ubuntu 組成的 Linux Lan。是否有可能您的私鑰與公鑰不符?當您產生金鑰時,您會得到一對金鑰,公用金鑰將按照傳統方式複製到目標電腦主目錄下的 .ssh/authorized 金鑰檔案中。如果重新產生金鑰,則必須複製新的 .pub 檔案。新的私鑰不會與舊的公鑰配對。我注意到您的主目錄中似乎有一個 .authorized_keys 資料夾。我從來沒有嘗試過。我認為正常的放置位置是在 /home/user_name/.ssh/authorized_keys 資料夾中。我在使用 Solaris 6 及以上的任何版本、Freebsd 以及各種版本和風格的 Linux 時從未遇到過問題。祝你好運
艾倫