如何检查Ubuntu上是否安装了openSSH

14

正如标题所问,我该怎么确定呢?在Linux机器上能否使用ssh仅仅表示安装了OpenSSH吗?我尝试过 ssh -V 命令,它给出了版本号,但这是否意味着已经安装了OpenSSH或者ssh命令来自另一个工具?


你是指客户端还是守护进程? - Dirk Eddelbuettel
我认为openssh是一套工具。 - bitscuit
是的,它应该表示版本号,但我不知道这是服务器还是客户端。 - Fuseteam
2个回答

17
当我执行ssh -V来检查版本时,我得到以下输出,这表明我确实安装了openssh:
$ ssh -V
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.13, OpenSSL 1.0.1f 6 Jan 2014

如果你看不到像我一样的 OpenSSH 和版本号,那么你可能没有安装openssh-client,正如你所暗示的那样,你必须从其他ssh应用程序获取ssh二进制文件。

要查看所有已安装包含 ssh 的软件包,请使用以下命令将您的 dpkg --list 输出导入 grep 中:

dpkg --list | grep ssh

...就像我下面所做的一样。您可以看到我安装了openssh-clientopenssh-serveropenssh-sftp-serverssh-add,这些都是OpenSSH的一部分:

$ dpkg --list | grep ssh
ii  libssh-4:amd64                                        0.6.1-0ubuntu3.3                                                               amd64        tiny C SSH library
ii  libssh2-1:amd64                                       1.4.3-2ubuntu0.1                                                               amd64        SSH2 client-side library
ii  openssh-client                                        1:6.6p1-2ubuntu2.13                                                            amd64        secure shell (SSH) client, for secure access to remote machines
ii  openssh-server                                        1:6.6p1-2ubuntu2.13                                                            amd64        secure shell (SSH) server, for secure access from remote machines
ii  openssh-sftp-server                                   1:6.6p1-2ubuntu2.13                                                            amd64        secure shell (SSH) sftp server module, for SFTP access from remote machines
ii  python-paramiko                                       1.10.1-1git1build1                                                             all          Make ssh v2 connections with Python (Python 2)
ii  ssh-askpass-gnome                                     1:6.6p1-2ubuntu2.8                                                             amd64        interactive X program to prompt users for a passphrase for ssh-add
ii  ssh-import-id                                         3.21-0ubuntu1                                                                  all          securely retrieve an SSH public key and install it locally
ii  sshfs                                                 2.5-1ubuntu1                                                                   amd64        filesystem client based on SSH File Transfer Protocol
ii  sshpass                                               1.05-1                                                                         amd64        Non-interactive ssh password authentication

这里有一张截图,你可以看到标红的ssh结果:进入图片描述

另外请注意,OpenSSH由一整套与ssh相关的二进制工具组成,不仅仅是ssh命令。请参见:https://en.wikipedia.org/wiki/OpenSSH。其中一些工具如下:

OpenSSH套件包括以下命令行工具和守护程序:

  • scp,替代rcp
  • sftp,替代ftp以在计算机之间复制文件
  • ssh,替代rloginrshtelnet,允许访问远程计算机的shell。
  • ssh-addssh-agent,通过持有密钥并避免每次使用时输入密码来简化身份验证的实用工具
  • ssh-keygen,用于检查和生成用于用户和主机身份验证的RSA、DSA和椭圆曲线密钥的工具
  • ssh-keyscan,扫描主机列表并收集它们的公钥
  • sshd,SSH服务器守护进程

参考资料:

  1. https://en.wikipedia.org/wiki/OpenSSH
  2. https://askubuntu.com/questions/423355/how-do-i-check-if-a-package-is-installed-on-my-server

5

“在Linux机器上使用ssh的能力是否意味着已安装了openSSH?”

答案:不是。如果您想通过SSH连接到Linux机器或服务器,则要连接的服务器必须安装和配置openssh-server软件包。用于连接服务器的计算机不必安装openssh-server,只需要安装openssh客户端即可。

您可以使用Debian的软件包管理系统来确认是否已安装openssh-server:

sudo apt version openssh-server

如果您在控制台上看不到任何输出,则表示您未安装它。

您也可以使用dpkg:

sudo dpkg -l openssh-server

6
当我使用第二个选项 "sudo dpkg -l openssh-server" 时,可以正常运行,但是当我使用 "sudo apt version openssh-server" 时,结果显示"E: Invalid operation version"。 - Patapoom
我的显示结果如下:Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ 名称 版本 架构 描述 +++-==============-============-============-================================= un openssh-server <none> <none> (没有可用的描述)。这是表示我没有安装它吗? - Liana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接