CodeGym /课程 /Docker SELF /设置SSH,使用`ping`, `netstat`, `dig`进行网络诊断

设置SSH,使用`ping`, `netstat`, `dig`进行网络诊断

Docker SELF
第 4 级 , 课程 5
可用

设置SSH,使用ping, netstat, dig进行网络诊断

1. 配置SSH服务器

欢迎来到Linux网络功能的实践探索!今天是时候测试我们的知识了!你将学习如何配置SSH服务器,使用客户端连接,使用最流行的命令诊断网络,以及检查端口的可用性。让我们感觉自己像真正的网络工程师吧!

SSH (Secure Shell) 是一种用于安全远程访问服务器的工具。它可以让你连接到服务器,像你坐在服务器前一样管理它,还可以传输文件。

步骤1:安装SSH服务器

首先,我们需要安装SSH服务器。如果你使用的是Ubuntu或Debian,运行以下命令:

sudo apt update
sudo apt install openssh-server -y

如果你使用的是Fedora或CentOS:

sudo yum install -y openssh-server

安装完成后,确保SSH服务已启动:

sudo systemctl start ssh
sudo systemctl enable ssh  # 配置SSH在系统启动时自动运行
sudo systemctl status ssh  # 检查服务状态

如果一切顺利,你会看到服务正在运行。

步骤2:配置SSH服务器

SSH服务器的配置文件位于以下路径:

sudo nano /etc/ssh/sshd_config

一些有用的配置参数:

  • PermitRootLogin no — 禁止以用户root登录。
  • PasswordAuthentication yes — 启用密码认证。
  • PubkeyAuthentication yes — 启用密钥认证。

修改完成后,重启SSH:

sudo systemctl restart ssh

现在,服务器已经准备好接收连接。

步骤3:通过SSH连接到服务器

从另一台机器(或从本地机器通过localhost)尝试连接:

ssh your_username@your_server_ip

如果你在本地操作,将your_server_ip替换为127.0.0.1。输入你的用户密码,你就可以通过终端进入系统了。


2. 使用密钥进行身份验证的配置

密码验证挺方便的,但从安全角度来说,最好的方式是使用 SSH 密钥。

步骤 1:生成 SSH 密钥

在客户端机器上执行以下命令:

ssh-keygen

系统会问你保存密钥的位置。默认情况下,它们会保存到目录 ~/.ssh/。直接按 Enter 就行了。

步骤 2:将密钥复制到服务器

将公钥复制到服务器上:

ssh-copy-id your_username@your_server_ip

现在你可以无密码连接了:

ssh your_username@your_server_ip

如果一切设置正确,恭喜!现在你的 SSH 服务器已经通过密钥验证得到保护啦。


3. 使用ping进行网络诊断

我们已经熟悉了这个命令。来快速检查一下我们的SSH服务器是否可用吧。

ping -c 4 your_server_ip

你应该能看到来自服务器的回应。如果没有回应,检查一下服务器是否启动,以及设置是否正确。


4. 使用nslookupdig检查DNS

如果你的服务器有域名,可以通过DNS检查其是否正常工作。例如:

nslookup命令:

nslookup your-domain.com

你应该能看到与域名对应的IP地址。

dig命令:

现在我们尝试获取完整的信息集:

dig your-domain.com

你会看到很多数据,但我们关心的是ANSWER SECTION中的那一行,那里会显示IP地址。


5. 使用 netstatss 分析网络连接

SSH 服务器默认监听 22 端口。我们可以用 netstat 检查:

sudo netstat -tln | grep 22

或者使用更现代化的工具 ss

sudo ss -tln | grep 22

如果你看到 22 端口状态为 "LISTEN"(等待连接),说明服务器就绪,可以接受客户端连接。


6. 用 nc 检查端口可用性

netcat(或者 nc)命令可以测试端口的可用性。我们试着连接到我们的 SSH 服务器:

nc -zv your_server_ip 22

你应该会看到类似这样的消息:"Connection to your_server_ip 22 port [tcp/ssh] succeeded!".

如果连接失败,这可能意味着端口被防火墙阻止,或者服务器没有监听指定端口。


7. 实践任务

现在让我们把所有东西结合在一个实际的场景中。你需要完成以下步骤:

  1. 在你的计算机或虚拟环境中启用SSH,比如WSL2。
  2. 生成密钥并设置密钥认证(禁止密码登录)。
  3. 通过SSH连接到服务器。
  4. 使用ping检查服务器的可达性。
  5. 使用nslookupdig检查IP地址解析(如果你有域名)。
  6. 通过netstatssnc检查服务器的22端口。

现在你不仅可以配置远程访问,还能解决网络问题、诊断服务器并像个真正的pro一样保护它!你已经逐步走向Linux专家的道路。

1
Опрос
在Linux中处理网络,  4 уровень,  5 лекция
недоступен
在Linux中处理网络
在Linux中处理网络
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION