linux命令使用主机名和端口号连接到另一台服务器

时间:2013-08-13 19:35:17

标签: linux

使用主机名和端口号连接到另一台服务器的Linux命令是什么?

如何仅使用主机名和端口号连接到另一台服务器,然后检查现有进程是否正在运行?我看到它工作的唯一方法是登录服务器并运行PS命令。但有没有办法做到这一点,而无需直接登录到其他服务器,只连接主机名和端口号,并检查正在运行的进程?

5 个答案:

答案 0 :(得分:2)

如果您只想尝试与给定主机/端口组合的任意连接,可以尝试一个nmaptelnetnc(netcat)。

请注意,您无法确定进程是否正在远程运行 - 它可能正在该端口上运行,但只是忽略它在端口上看到的任何内容。要确定,您需要通过ps等运行netstatssh等。

如果您想使用SSH,例如一个脚本,或者更一般地说,没有输入登录信息,那么您将需要使用公钥认证。 Ubuntu有一些关于如何设置它的好文档,它也非常适用于其他版本:https://help.ubuntu.com/community/SSH/OpenSSH/Keys

如果您无法访问服务器,那么您尝试列出进程,那么我担心没有办法远程列出正在运行的进程(除nmap等远程工具外如前所述 - 你总是可以在没有身份验证的情况下探测公共端口[尽管如果你对你不拥有的服务器这样做会让人生气]。这是一个功能,而不是问题。

答案 1 :(得分:1)

telnet连接到大多数服务。有了它,您可以确保端口打开并看到问候消息(如果有)。另外nc更低级别。

eri@eri-macro ~ $ telnet smtp.yandex.ru 25
Trying 87.250.250.38...
Connected to smtp.yandex.ru.
Escape character is '^]'.
220 smtp16.mail.yandex.net ESMTP (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
helo
501 5.5.4 HELO requires domain address.
HELO ya.ru
250 smtp16.mail.yandex.net
MAIL FROM: <someusername@somecompany.ru>
502 5.5.2 Syntax error, command unrecognized.

如果有纯文本协议,您可以通过键盘与服务对话。如果连接安全,请尝试openssl。

openssl s_client -quiet -connect www.google.com:443
depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
verify error:num=20:unable to get local issuer certificate
verify return:0

GET /

<HTML><HEAD>

如果协议未知,您可能会看到许多象形文字或Connected to ...消息。

答案 2 :(得分:0)

试试这个:

ssh <YOUR_HOST_NAME> 'ps auxwww'

像Dark Falcon在评论中所说,你需要一个与服务器通信的协议,在这种情况下,单独一个端口是没用的。

默认情况下,在unix(和unix like)服务器上,是可行的方法。

答案 3 :(得分:0)

使用此命令的远程Shell。示例是cat远程计算机上的文件。

rsh主机端口'cat remotefile'&gt;&gt; LOCALFILE

主机端口自我解释

remotefile :远程登录主目录的计算机上某个文件的名称

localfile :文件cat信息的名称。

答案 4 :(得分:0)

使用监控软件(如Nagios)。它会查看您配置为观看的过程,传感器,负载和接收器。它不断存储日志。如果出现故障,它会通过电子邮件\ sms \ jabber提醒您。您可以使用浏览器或HTTP API访问它。