ssh 和 openssh 包有什么区别?

jb6*_*264 24 ssh package-management openssh

我正在设置 LAMP 服务器并想使用 SSH。我看到了一个命令sudo apt-get install ssh并想知道它是否与 openssh 相同?

如果我现在要执行 apt-get install openssh,我的机器上会安装两个不同版本的 ssh 吗?

jaw*_*ark 37

好的... 简单:让我们问问包管理器aptitude search ssh。你会得到一个相当大的输出,但我会为你挑选一些:

i A openssh-client                  - secure shell (SSH) client, for secure acce
p   openssh-server                  - secure shell (SSH) server, for secure acce
p   ssh                             - secure shell client and server (metapackag
v   ssh-client                      -                          
v   ssh-server                      -                                          
Run Code Online (Sandbox Code Playgroud)

那是我的桌面,它没有 ssh 服务器。它确实有一个客户。看到第一个字母了吗?在这里您会看到三个不同的:i,pv。它们代表installed,purgedvirtual。安装是显而易见的,程序就在那里。 purged表示未安装,如果您完全删除程序,则称为清除,这与从未安装过的程序无法区分。最后,有virtual。这些不是真正的软件包,而是指向要安装的一个或多个软件包。

正如你在描述中看到的,ssh是一个普通的包,它将安装客户端和服务器。让我们问问包管理器它到底是什么意思: aptitude show ssh,它会给你:

Package: ssh                             
State: not installed
Version: 1:6.6p1-2ubuntu2.8
Priority: optional
Section: net
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Uncompressed Size: 29,7 k
Depends: openssh-client (>= 1:6.6p1-2ubuntu2.8), openssh-server (>= 1:6.6p1-2ubuntu2.8)
Description: secure shell client and server (metapackage)
 This metapackage is a convenient way to install both the OpenSSH client and the OpenSSH server. It provides nothing in and of itself, so you
 may remove it if nothing depends on it.
Homepage: http://www.openssh.org/
Run Code Online (Sandbox Code Playgroud)

描述非常简单,但您可以从中收集更多信息,而不仅仅是描述。有一行以Depends. 这意味着,“为了安装这个包,还必须安装以下包”。现在看看:它同时安装了 openssh-client 和 openssh-server。

那么区别是什么呢? aptitude install openssh-server将只安装,并且只安装openssh-server. aptitude install ssh将同时安装openssh-serveropenssh-client,但除非您有一个非常奇怪的配置,否则您几乎可以肯定已经安装了openssh-client.

这么实用?没有区别……但是您今天必须了解有关包的知识。