Linux

如何在 CentOs 7 機器上的兩個使用者之間共享 SSH 密鑰?

  • February 21, 2021

我不是系統管理員\網路專家(我是軟體開發人員),我發現在客戶的 Linux CentOS 7 遠端電腦上工作存在以下困難。

我正在使用 MobaxTerm 連接到這台機器。他們為我提供了一個 .ppk 文件和一個使用者。

.ppk 文件包含如下內容:

PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: MY CUSTOMER KeyPair
Public-Lines: 6
.....................................................................
.....................................................................
.....................................................................

導入這個文件(到 MobaxTerm “高級 SSH 設置 –> 使用私鑰”)我可以登錄到這台機器,而他們給我的使用者沒有問題。

然後,在我使用這個提供的使用者登錄之後,我使用以下命令創建了一個全新的 root 使用者:

sudo adduser my_new_user
sudo passwd my_new_user
sudo usermod -aG wheel my_new_user

完成此操作後,我可以通過以下方式更改使用者:

su - my_new_user

它工作正常,似乎我有 root 訪問權限。

問題是現在我無法使用這個 my_new_user 使用者通過 SSH 訪問。如果我在執行登錄時嘗試提示此使用者名,則會收到以下錯誤消息:

Server refused our key

No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

我想這個錯誤取決於導入的 .ppk 文件與提供的使用者相關,而不是與這個全新的使用者相關(事實上,如果我禁用 .ppk 導入,我也會使用原始提供的使用者獲得相同的錯誤)。

線上閱讀似乎明白,同一個密鑰可以用於訪問多個使用者/主機,但需要為每個使用者單獨授權。所以我嘗試做以下操作:

在我的新使用者目錄中,我手動創建了**.ssh**目錄:

[anobili@prod-whazu-nodo1 ~]$ pwd
/home/anobili
[anobili@prod-whazu-nodo1 ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .ssh
[anobili@prod-whazu-nodo1 ~]$

然後我將**/home/originaluser/.ssh/authorized_keys文件(其中 originaluser 是他們證明給我的使用者)複製到新使用者的全新.ssh文件夾中。它現在包含這個包含密鑰的authorized_keys**文件:

[anobili@prod-whazu-nodo1 .ssh]$ pwd
/home/anobili/.ssh
[anobili@prod-whazu-nodo1 .ssh]$ ls -a
.  ..  authorized_keys
[anobili@prod-whazu-nodo1 .ssh]$

現在我希望我也可以使用anobili使用者通過 SSh 以相同的方式登錄,但我仍然收到之前的錯誤消息。

怎麼了?我錯過了什麼?我該如何嘗試解決此問題?

首先也是最重要的:使用ls -lhAZ-Z在啟用 SELinux 的系統上),它顯示 Linux 文件所有權、權限和 SELinux 標籤。

重置目錄和文件的權限:

# DAC - Restore permissions
chmod 0700 ~anobili/.ssh
chmod 0600 ~anobili/.ssh/authorized_keys
# Restore ownership
chown -R anobili ~anobili/.ssh
# MAC - Restore SELinux 
restorecon -R ~anobili/.ssh

這是它應該看起來的樣子:

$ ls -lhaZ | grep .ssh
drwx------. 2 user group unconfined_u:object_r:ssh_home_t:s0  4.0K Feb 21 18:52 .ssh
$ ls -lhaZ .ssh
-rw-------. 1 user group unconfined_u:object_r:ssh_home_t:s0 0 Feb 21 18:53 authorized_keys

引用自:https://serverfault.com/questions/1054505