AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 544181
Accepted
xtian
xtian
Asked: 2013-10-07 14:44:03 +0800 CST2013-10-07 14:44:03 +0800 CST 2013-10-07 14:44:03 +0800 CST

为什么 sshd 守护进程会导致手动启动 /usr/sbin/sshd 允许的连接失败?

  • 772

目标是设置 FreeNX。根据另一个serverfault 用户的建议,我能够测试 sshd 服务器的各种配置ssh和nxsetup连接作为守护进程或手动启动的/usr/sbin/sshd.

守护程序版本将不接受来自 nxsetup 的连接,但手动实例/usr/sbin/sshd将接受。

步骤:

  1. 启动 ssh-agenteval $(ssh-agent)并添加 root 密钥ssh-add

  2. 停止 sshd 守护进程,

  3. 使用以下命令启动手动实例:

    # /usr/sbin/sshd -d -p 22 -f /path/to/test/sshd_config_nx
    
  4. 我遇到问题的命令是:

    # nxsetup --install --clean --purge
    
  5. 成功!但是,跳过 2、3 和连接失败

sshd 守护进程和手册 /usr/sbin/sshd 配置文件的设置:

/etc/ssh/sshd_config当然是守护进程的默认配置目录。这个文件和我的测试配置,,~/sshd_config_nx(已经成为)完全相同(差异)。

成功的 ssh 测试包括:

from client over LAN to:
    - sshd server daemon
    - manual sshd server
from ssh with loopback (127.0.0.1) to:
    - sshd server daemon
    - manual sshd server

权限

我阅读了很多关于涉及权限的 ssh/sshd 身份验证问题的帖子。我的 root 用户具有以下权限:/root/.ssh是 700 和/root/.ssh/*600。authorized_keys2 的 nxserver 默认位置是/var/lib/nxserver/home/.ssh/. 我在这里应用了相同的权限。/root 和 /var 之间的唯一区别是后者拥有 nx:root。出于这个原因,我为所有者和组测试了相同的权限,世界仍然为 0。这没有任何区别,并且它对 ssh-add 进行了窃听。所以我将它们改回 700 和 600。我没有听说配置权限很重要,但我使它们都相同,因为我以 root 身份执行这些命令,所以 user:group 也是相同的。

为什么 sshd 守护进程会导致手动启动 /usr/sbin/sshd 允许的连接失败?

//编辑:如果我只是愚蠢的,我已经尝试了更多的东西:

  • 分步添加 ssh-agent。

  • 我确保我对我所做的任何更改~/.ssh和 /var/lib/nxserver/home/.ssh权限都遵循了另一个帖子的建议,该帖子与守护进程有类似问题并手动启动了 sshd:#restorecon -r -vv /root/.ssh

  • 服务器有 openssh-5.3p1-84.1.el6.i686,因此authorized_key 文件不是您所期望的。FreeNX 希望 authorized_keys2 位于 /var 目录中。重要的是要注意 ssh 正在工作。测试 sshd_config_nx 始终使用此 /var 位置,当我尝试通过守护程序进行 nxsetup 连接时,我切换 /etc/ssh/sshd_config 中的行(以适应 nxsetup 指令)。

  • 添加了/etc/ssh/sshd_config的 pastebin

  • 上面提到的目录:

    [root@mrwizard ~]# ls ~/.ssh
    drwx------.  2 root root 4096 Oct  6 17:47 .
    dr-xr-x---. 47 root root 4096 Oct  7 18:58 ..
    -rw-------.  1 root root 2761 Oct  5 18:50 authorized_keys
    -rw-------.  1 root root 1865 Oct  6 15:54 authorized_keys2
    -rw-------.  1 root root 1679 Oct  6 15:52 authorized_keys2.new
    -rw-------.  1 root root 1743 Oct  5 18:38 id_rsa
    -rw-------.  1 root root  401 Oct  5 18:38 id_rsa.pub
    -rw-------.  1 root root  391 Oct  6 17:47 known_hosts 
    
    [root@mrwizard ~]# ls -al /var/lib/nxserver/home/.ssh/
    drwx------. 2 nx root 4096 Oct 7 18:38 . 
    drwx------. 5 nx root 4096 Oct  7 18:38 ..
    -rw-------. 1 nx root  669 Oct  7 18:38 authorized_keys2
    -rw-------. 1 nx root  668 Oct  7 18:38 client.id_dsa.key
    -rw-r--r--. 1 nx root  392 Oct  7 18:38 known_hosts 
    
    [root@mrwizard ~]# ls -al /etc/ssh/
    drwxr-xr-x.   2 root root   4096 Oct  6 18:47 . 
    drwxr-xr-x. 135 root root  12288 Oct  7 18:38 ..
    -rw-------.   1 root root 125811 Feb 21  2013 moduli
    -rw-r--r--.   1 root root   2061 Sep 22 14:32 ssh_config
    -rw-------.   1 root root   4492 Oct  6 18:47 sshd_config
    -rw-------.   1 root root    668 Oct  5 16:53 ssh_host_dsa_key
    -rw-r--r--.   1 root root    590 Oct  5 16:53 ssh_host_dsa_key.pub
    -rw-------.   1 root root    963 Oct  5 16:53 ssh_host_key
    -rw-r--r--.   1 root root    627 Oct  5 16:53 ssh_host_key.pub
    -rw-------.   1 root root   1671 Oct  5 16:53 ssh_host_rsa_key
    -rw-r--r--.   1 root root    382 Oct  5 16:53 ssh_host_rsa_key.pub
    
ssh
  • 1 1 个回答
  • 882 Views

1 个回答

  • Voted
  1. Best Answer
    larsks
    2013-10-08T18:50:42+08:002013-10-08T18:50:42+08:00

    您已selinux启用。对于失败的连接,您应该看到/var/log/audit/audit.log. 你有两个选择:

    • 禁用selinux. 去吧,你所有的朋友都在做。
    • 修复您的selinux配置。这可能就像fixfiles使用适当的参数运行以重新标记文件系统一样简单,或者可能需要显式设置selinux文件或目录的上下文。

    如果您选择第二个 - 可以说更正确但更费力 - 解决方案,您可能需要打开第二个问题,其中包含您的audit.log.

    您可以通过运行尝试第一个解决方案:

    # setenforce 0
    

    这将selinux进入许可模式,但在重新启动后不会持久。要永久禁用selinux,编辑/etc/selinux/config和设置:

    SELINUX=disabled
    

    或者:

    SELINUX=permissive
    

    后一个设置将selinux保持启用但处于许可模式,因此它将记录违规audit.log但不会

    • 1

相关问题

  • 如何最好地设置 ssh 隧道以访问远程网络 (Linux)

  • SSH 和重定向

  • 通过 SSH 会话使用 NET USER 命令拒绝访问

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve