我一直试图在没有密码的情况下使ssh在Linux服务器上工作。我一直在看很多教程,但是我对一些关键概念缺乏基本的了解。
我在客户端服务器上生成了一个旧的rsa公共密钥,我正尝试使用该公共密钥。我登录到Linux服务器,并将我的公共rsa密钥添加到/home/user/.ssh/authorized_keys。尝试登录时仍提示我输入密码。
我的问题是,这是否是添加我的密钥的正确authorized_keys文件。我将其放在自己的用户目录中似乎很奇怪,但是我在设置ssh时看到的大多数解释都告诉我将我的公钥放入~/.ssh/authorized_keys
。
作为后续问题,我几年前在客户端上生成的公钥是所有shh连接的标识符,还是我需要生成一个新的公钥?
更新正在记录的错误被读取
trying public key file /home/bsayegh/.ssh/authorized_keys
Authentication refused: bad ownership or modes for file /home/bsayegh/.ssh/authorized_keys
文件/目录的权限为:
-rwxrwxrwx. 1 bsayegh root 401 May 24 14:30 authorized_keys
drwx------. 2 bsayegh root 4096 May 24 14:30 .
drwx------. 3 bsayegh bsayegh 4096 May 25 11:38 ..
如果您有权访问计算机的日志文件,则需要对其进行调查。特别是/var/log/messages
和/var/log/secure
。通常,您会看到一条消息,说明sshd不接受您的公共密钥身份验证的原因。
通常,您需要执行以下操作
检查sshd是否允许公共密钥身份验证(请参阅参考资料/etc/ssh/sshd_config
)-我认为这是默认设置,因此您至少应该检查选项,例如RSAAuthentication
和PubkeyAuthentication
没有明确禁用。
chown -R ***(your user name)*** ~/.ssh
-您拥有该文件夹
chmod 700 ~/.ssh
-只有您应该有权访问.ssh文件夹。如果不是这种情况,sshd通过不允许访问来强制执行此操作。chmod 600 ~/.ssh/id_rsa
-与文件夹相同。这是您要使用的任何私钥所必需的chmod 600 ~/.ssh/authorized_keys
-有些sshd守护程序要求这样做,通过不让其他人知道他们需要窃取哪些密钥来增加安全性restorecon -R ~/.ssh
-当您的系统已激活SELINUX以便设置属性以使文件可供sshd守护程序访问时;使用ls -Z〜/ .ssh检查文件中一些与ssh相关的属性,例如RedHat系统上的ssh_home_t编辑(2016-06-07)-添加更多规则
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句