linux - 在 Slackware 13.0 中使用 key 配置 SSH

标签 linux ssh ssh-keys openssh slackware

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




最后一天左右,我一直在试图弄清楚如何在我的 Slackware 机器上使用公钥/私钥设置 SSH。

有些事情仍然让我感到困惑:

  • 在 sshd_config 文件中,我应该在设置 AuthorizedKeysFile 指令的路径时使用相对引用还是绝对引用?我读过它可以是或。

    当前设置为 AuthorizedKeysFile/root/.ssh/authorized_keys
  • 我很确定当通过 ssh-keygen 生成 key 时,它应该在客户端计算机上生成,并且应该将公钥复制到服务器并添加到 authorized_keys 文件中。这个对吗?
  • 我很确定 .ssh 目录的权限和
    authorized_keys 文件是正确的。

    drw------- .ssh
    drwx---x---授权 key
    -rw----r-- known_hosts
  • 我做了一个 ps -e aux | grep sshd 查看正在运行 sshd 进程的用户。结果如下: moros 是我用来登录我的盒子的标准用户帐户。

    根 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
  • 这是我的 sshd_config 的一部分

    端口 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/

    相关文章:

    linux - 使用 wget 下载 Joomla-3.4.4

    android - 使用 Freetype2 为 ARM 构建 FFmpeg

    shell - 通过SSH运行shell时如何自动输入?

    ssh尾输出行仅带有关键字

    powershell - Plink/PuTTY 使用加密密码

    ssh-keys - 在 docker 容器中使用 SSH key

    c++ - 在 Linux x86_64 上使用单例 C++ 进行多处理

    python - 运行 cp 命令来复制文件或在 Python 中更改文件名

    git - Android studio git 使用私钥

    linux - 保证此类 SSH 连接的最佳方法是什么?