我正在使用(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_keys
和chmod 0700 /root/.ssh/
可能或可能不需要。 在我第一次尝试排除故障时,这并没有起到帮助作用。
编辑/ etc / ssh / sshd_config并取消注释:
AuthorizedKeysFile %h/.ssh/authorized_keys