我已将 chroot 配置添加到我的/etc/ssh/sshd_config
。
我使用重新加载配置文件/etc/init.d/ssh reload
,然后尝试使用 SFTP 客户端连接,但没有任何变化,用户可以登录但无法 chroot。
但是,如果我使用 手动启动 SSH 守护程序(在不同的端口上)/usr/sbin/sshd -p2222
,则会加载新的配置并应用 chroot。
有什么提示为什么/etc/init.d/ssh reload
实际上不能重新加载配置?
附加信息:
- 如果我使用,则会发生同样的
restart
问题 - 在重新加载/重新启动时,我与服务器保持开放连接,以进行 root 访问
- 我正在运行 Debian Wheezy。
答案1
不要运行/etc/init.d/ssh restart
使用service ssh restart
。
在 Ubuntu 14.04.2 上,直接调用 init 脚本不会发生配置更改。Debian 很可能也存在同样的情况。
答案2
事实证明,无论是restart
还是stop
+start
都不够,因为它不会终止正在运行的 sshd 守护进程。
我必须获取对服务器的物理访问权限,然后停止kill <sshd PID>
(以便服务器不会接受任何新的传入连接),然后重新启动守护进程。