如何在Debian上configurationsshd来使用公钥authentication?

我正在使用(Debian)Dreamhost VPS,它似乎只需要基于密码的身份validation:将我的RSA和DSA公钥添加到~/.ssh/authorized_keys不会改变需要密码login的行为。

如何设置服务器,以便它可以接受~/.ssh/authorized_keys

您将需要编辑/etc/ssh/sshd_config ,如下所示:

 # Both of these are probably already there, but commented PubkeyAuthentication yes # The next line makes sure that sshd will look in # $HOME/.ssh/authorized_keys for public keys AuthorizedKeysFile %h/.ssh/authorized_keys 

此外,如果您想要禁用密码authentication alltogether(通常是一个好主意,如果您使用密钥对),请添加以下内容:

 # Again, this rule is already there, but usually defaults to 'yes' PasswordAuthentication no 

之后,通过发出/etc/init.d/sshd restart 重新启动ssh ,你应该没事的!

上面假设您已经正确创build了具有适当权限.ssh目录。

这意味着你将chmod 0700设置为~/.ssh

以下是步骤:1.将您的公钥上传到网站,并将其添加到〜/ .ssh / authorized_keys文件中。 2.确保授权密钥的属性为0600(chmod 0600〜/ .ssh / authorized_keys)3.现在尝试使用ssh,如果使用putty,则运行选美程序并加载私钥。

同时检查您的主目录的所有者和权限。 您必须拥有您的主目录,权限不应超过755。

这些设置是不寻常的,但是当它发生的时候很难理解。

酒吧钥匙进入“authorized_keys2”,请注意2.作为别人张贴在上面,你可以调整sshdconfiguration使用你的“authorized_keys”文件,如果你愿意。

这也造成我的系统pipe理员使用作为一个jumphost服务器上的问题。 有人向我指出,每个用户都必须在本地创build,这样/home/user[123]/authorized_keys必须存在并包含他们的pub密钥。 该文件需要chowned为user1:user1。

 ssh-rsa ...insert pub key string... user1@local 

在近端主机上本地创build〜/ .ssh / config也有助于更快地连接并定义一个有用的选项,即'EscapeChar〜'

chmod 0600 /user1/.ssh/authorized_keyschmod 0700 /root/.ssh/可能或可能不需要。 在我第一次尝试排除故障时,这并没有起到帮助作用。

编辑/ etc / ssh / sshd_config并取消注释:

 AuthorizedKeysFile %h/.ssh/authorized_keys