簡體   English   中英

有效的authorized_keys文件?

[英]Valid authorized_keys file?

我有一個使用Python和Paramiko編寫的軟件,該軟件將公共ssh密鑰分發給目標linux機器。 然后,它嘗試使用私鑰進行連接。 在一台計算機(RHEL版本5)上,它可以正常工作。 在其他計算機(CentOS,RHEL版本6)上,發生了一些奇怪的事情。 公鑰被分發,但是服務器拒絕私鑰(我使用plink進行測試)。 然后,我執行以下操作(在.ssh目錄中):

cp authorized_keys _temp
cat _temp > authorized_keys
chown testuser authorized_keys
chmod 600 authorized_keys

然后身份驗證工作(就像以前一樣)。 因此,這排除了sshd配置。 而且,正如我之前提到的,分發可以在另一台機器上進行,並且使用相同的分發機制可以成功進行身份驗證。 所以我想分布還可以。 它可能與文本文件格式有關。 通過將authorized_keys文件返回到我的機器並進行檢查,我排除了CR + LF而不是LF-它只有LF。

因此,我目前只能確定的是,cat和>(或其中一個)以某種方式“修復”了文件,但是我不能真正說出哪個和如何。 由於我希望該過程能夠在沒有人工干預的情況下工作,並且需要盡可能少的解決方法->有人可以解釋嗎?

謝謝!

您可以嘗試使用dos2unix命令修復空白:

dos2unix authorized_keys

但是我懷疑這可能也是selinux的問題。 如果使用ls可視化selinux上下文:

ls -lZ .ssh/*

你應該得到像

-rw -------。 git git unconfined_u:object_r:ssh_home_t:s0授權密鑰

請參閱ssh_home_t上下文。 如果沒有看到,則需要使用restorecon還原它:

restorecon -r .ssh

通常,您可以使用audit2why命令查看selinux問題出了什么問題:

audit2why /var/log/audit/audit.log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM