关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?将问题更新为 on-topic对于堆栈溢出。
8年前关闭。
Improve this question
最后一天左右,我一直在试图弄清楚如何在我的 Slackware 机器上使用公钥/私钥设置 SSH。
有些事情仍然让我感到困惑:
当前设置为 AuthorizedKeysFile/root/.ssh/authorized_keys
authorized_keys 文件是正确的。
drw------- .ssh
drwx---x---授权 key
-rw----r-- known_hosts
根 5449 0.0 0.0 4112 0980 ? SS 01:06 0:00/usr/sbin/sshd
根 5574 0.0 0.1 6700 2020 ? Ss 15:22 0:00 sshd: moros [priv]
根 5576 0.0 0.0 6700 1272 ? S 15:22 0:00 sshd: moros@pts/0
根 5609 0.0 0.0 2204 0628 pts/0 S+ 15:42 0:00 grep sshd
端口 22
协议(protocol) 2
SyslogFacility AUTH
日志级别详细
PermitRootLogin 是
RSA认证是
公钥认证是
AuthorizedKeysFile/root/.ssh/authorized_keys
密码验证是
PermitEmptyPasswords 否
其余部分是标准默认值。
无论如何,到目前为止,我已经能够确定一些事情。我知道 ssh 正在工作,因为我可以使用 slackware 机器上有效用户的密码从客户端机器登录。我生成了 ssh-keygen rsa 样式并使用 scp 将 pub key 复制到服务器。目前,我很确定authorized_keys 设置正确。我做了一个 cat 文件 >> authroized_keys 并添加了我复制到服务器的 pub key 。该文件的格式为 ssh-rsa AAAAB3Nza..... 每一行。我打开了 VERBOSE 日志记录以获取尽可能多的信息。昨晚,我在日志中看到“来自 'ip' 端口 'num' ssh2 的 moros 公钥失败。
通过该日志消息,我将问题的原因归结为两件事之一。 sshd 找不到我的 authorized_keys 文件,因此是 key 失败的原因,或者 .ssh 文件夹或授权 key 文件的权限不正确。
过去有没有人遇到过与 ssh key 和 slackware 类似的问题?
更新
事实证明,AuthorizedKeysFile 指令应该声明 .ssh/authorized_keys。
现在,当我以 root 以外的身份登录时,这可以工作。
最佳答案
与 AuthorizedKeysFile /root/.ssh/authorized_keys
,你在告诉 sshd
去寻找/root/.ssh/authorized_keys
中的 key 对于任何试图连接的人。除了root之外,这对其他任何人都不起作用。您应该坚持使用默认值 ~/.ssh/authorized_keys
key 对可以在任何地方生成。简单地说,公钥应该存在于您要连接的服务器上,而私钥应该存在于您要连接的客户端表单上。
权限相当困惑。它们应该看起来像:
drwx------- .ssh
-rw------- authorized_keys
-rw-r--r-- known_hosts
authorized_keys
应该是文件,而不是目录。另外,确保私钥的权限是
-rw-------
.
关于linux - 在 Slackware 13.0 中使用 key 配置 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20293981/