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

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

我如何知道我的服务器是否有 SSH?有什么方法可以测试吗?

答案1

对于 ssh 客户端:ssh google.com;如果显示未找到命令,则表示您尚未安装它。

对于 ssh 服务器:ssh localhost;如果它不执行任何操作,则您没有 ssh 服务器。

如果你正在运行 debian/ubuntu :

apt-get install openssh-server

答案2

缺少公钥绝不是 ssh 命令失败的唯一原因,因此这充其量只是一个近似值;但这可能就足够了。

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

哦,如果能更具体一点就更好了。

答案3

which ssh会告诉您是否安装了 SSH 客户端。但您可能会问您的服务器是否允许您使用 ssh 连接到它,此时您要寻找的是 SSH -SSH 守护进程 - 而不是 SSH 本身。如果您已安装它,应该能够以/etc/init.d/sshd startroot 身份启动它。如果您找不到类似名称的脚本,则很可能它没有安装。大多数发行版应该默认安装它。

答案4

这是一个相当老的问题,但我刚刚因为同样的原因看到了这篇文章,并且根据 ArtB 的帖子which ssh(输出 /usr/sbin/ssh 作为我默认的 Ubuntu 安装),你也可以which sshd输出 /usr/sbin/sshd

不过说实话,查看 Linux 上是否有任何东西正在运行的最好方法是看看ps aux它是不是在运行?因此,在这种情况下ps aux | grep sshd,或者对于那些追求完美并隐藏 grep 命令的人ps aux | grep -v grep | grep sshd来说,在我刚刚安装了 OpenSSH-Server 的 Ubuntu 上执行如下操作:

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

相关内容