OpenSSH 服务器:正在运行而非安装其他版本

OpenSSH 服务器:正在运行而非安装其他版本

我有一台 Ubuntu 18.04 服务器。我安装了openssh-serveropenssh-client。根据apt,两个软件包的安装版本都是7.6p1-4ubuntu0.1,但 ssh-server ( sshd) 的运行版本是OpenSSH_6.7p2 Ubuntu-4p1。客户端 ( ) 的版本ssh是正确的。

我已经重启了服务器几次,但运行的版本仍然是一样的。

最近我重新安装了 OpenSSH,因为我的客户端无法连接到版本 6.7 的服务器。请参阅:登录后 SSH 连接立即关闭

它可以工作一段时间,但后来突然切换回6.7版本。(安装的包仍然是7.6)

有人能帮我解决这个问题吗?我不明白运行版本与软件包版本有何不同。


编辑:

dpkg -l | grep openssh这是评论中要求的命令的输出:

ii  openssh-client                        1:7.6p1-4ubuntu0.2                         amd64        secure shell (SSH) client, for secure access to remote machines
ii  openssh-server                        1:7.6p1-4ubuntu0.2                         amd64        secure shell (SSH) server, for secure access from remote machines
ii  openssh-sftp-server                   1:7.6p1-4ubuntu0.2                         amd64        secure shell (SSH) sftp server module, for SFTP access from remote machines

可能还值得注意的是,当我尝试登录时,系统日志中出现以下错误:

sshd[15010]: ad6cd950 ip 00007f50883835a1 sp 00007ffcfb4f35f8 处发生段错误,libc-2.27.so[7f50881f5000+1e7000] 中的错误 4


编辑2:

删除 OpenSSH 并重新安装后在这个答案中推荐,它工作了一个小时。重启或更新后没有发生这种情况。实际ssh.service似乎不再运行。通过运行ps -o unit -p <process id>,我发现该进程已由启动env.service。我猜这是不正确的,因为在全新安装后,sshd已由启动ssh.service。但我如何才能改变这种行为?我不知道,该怎么env.service办。


编辑3:

/usr/sbin/sshd重新安装后不到一小时,某些东西就不断被旧版本替换openssh-server。我可以看到 MD5 哈希值已被更改。

答案1

1)备份你的配置文件

2)通过 apt openssh-server 删除

3)重启

4)运行 apt update

5)运行 apt-get autoremove

6)重新安装 openssh-server。(对于 Ubuntu 18.04,版本为 1:7.6)

相关内容