我使用的是 trusty (14.04.2 LTS)。openssh 的当前版本 = 6.6 (OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3、OpenSSL 1.0.1f 2014 年 1 月 6 日)
被告知升级到 openssh=6.9 或更高版本。
为什么 ssh 守护进程现在无法通过 upstart 正确启动/停止?
这是我所做的...
下载了 6.9 tarball(openssh-6.9p1.tar.gz)。
处理如下(全部以 root 身份进行):
cd openssh-6.9p1 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --libexecdir=/usr/lib/openssh 制作 停止 ssh;(正确停止) 进行安装
在 upstart 启动期间挂起...
启动 ssh;(control-c 退出)
我可以看到新的守护进程正在运行,我实际上可以通过 ssh 进入该框。新版本现在...
SSH-V OpenSSH_6.9p1,OpenSSL 1.0.1f 2014 年 1 月 6 日
还尝试过:
initctl——系统启动ssh
重新启动。ssh 进入框 OK。可以通过以下方式查看正在运行的服务:ps aux | grep ssh
/var/run/sshd.pid 中的进程 ID 与我在上面的 ps 中看到的一致。
停止 ssh ;挂起 - 按 control-c 退出。
我实际上费了好大劲才下载了 debian 6.9 包并提取了内容。其中的 upstart 脚本与 6.6 版本使用的脚本相同(我没有弄乱它)。
当前 /etc/init/ssh.conf 内容:
# ssh——OpenBSD 安全 Shell 服务器 # # OpenSSH 服务器为系统提供安全的 shell 访问。 描述“OpenSSH 服务器” 在运行级别启动 [2345] 在运行级别停止 [!2345] 重生 重生限制 10 5 umask 022 环境 SSH_SIGSTOP=1 期望停止 # ‘sshd -D’ 会泄漏 stderr,并与‘控制台日志’结合造成混淆 控制台无 启动前脚本 测试-x /usr/sbin/sshd || {停止;退出0;} 测试 -e /etc/ssh/sshd_not_to_be_run && { 停止; 退出 0; } mkdir -p -m0755 /var/run/sshd 结束脚本 # 如果你曾经在 /etc/default/ssh 中设置过 SSHD_OPTS,你可以更改 # 此处改为 'exec' 行 执行 /usr/sbin/sshd -D