我如何知道我的服务器是否具有SSH?

我如何知道我的服务器是否具有SSH? 有无论如何testing?

对于ssh客户端:ssh google.com; 如果说没有find命令,你还没有安装它。

对于ssh服务器:ssh localhost; 如果它没有做任何事你没有得到SSH服务器。

如果你正在运行debian / ubuntu:

apt-get install openssh-server 

缺less公钥绝不是唯一的方法,ssh命令可能会失败,所以这是一个近似值; 尽pipe如此,这可能就足够了。

 ssh $host "echo 2>&1" && echo $host OK || echo $host NOK 

哦,而且更具体一些会很好。

另一个说明:

 telnet <target> 22 

第一行应该是纯文本,告诉你有关SSH的版本。

此外,nmap可以进行SERVICE/VERSION DETECTION-sV: Probe open ports to determine service/version info )。 这可能会帮助你find一个configuration错误的端口(到处都隐藏了错别字,我在ssh上运行了21,并closures了与服务器的所有连接)。

which ssh会告诉你,如果你有SSH客户端安装。 但是你可能会问你的服务器是否允许你使用ssh连接到它,在这一点上你正在寻找SSH(SSH守护进程)而不是SSH本身。 如果你已经安装了它,应该可以用/etc/init.d/sshd start作为根启动它。 如果找不到类似名字的脚本,可能是没有安装。 大多数发行版应该默认安装它。

相当旧的一个,但我刚刚打这个post出于同样的原因,并继续从which ssh (输出/ usr / sbin / ssh为默认的Ubuntu安装)的ArtB的职位,你也可以做which sshd输出/ usr / sbin目录/ sshd的

尽pipe说实话,看看Linux上是否有任何东西正在运行的最好方法是ps aux不是吗? 所以在这个例子中ps aux | grep sshd ps aux | grep sshd ,或者那些想要完美并隐藏grep命令ps aux | grep -v grep | grep sshd ps aux | grep -v grep | grep sshd ps aux | grep -v grep | grep sshd ,如下在我的Ubuntu上,我刚安装OpenSSH服务器:

ps aux | grep -v grep | grep sshd root 5638 0.0 0.1 61372 5532 ? Ss 15:35 0:00 /usr/sbin/sshd -D

一种方法是检查你是否安装了ssh RPM Package

 [sanyadav@localhost ~]$ **rpm -qa | grep -i ssh** 

输出=>

 libssh2-1.4.3-8.el7.x86_64 openssh-6.6.1p1-11.el7.x86_64 **openssh-server-6.6.1p1-11.el7.x86_64** **openssh-clients-6.6.1p1-11.el7.x86_64** 

此外,如果你想看到安装的ssh rpm软件包的版本

 [sanyadav@localhost ~]$rpm -qi openssh-clients-6.6.1p1-11.el7.x86_64 

输出=>

 Name : openssh-clients Version : 6.6.1p1 Release : 11.el7 Architecture: x86_64