设置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. 使用nslookup
和dig
检查DNS
如果你的服务器有域名,可以通过DNS检查其是否正常工作。例如:
nslookup
命令:
nslookup your-domain.com
你应该能看到与域名对应的IP地址。
dig
命令:
现在我们尝试获取完整的信息集:
dig your-domain.com
你会看到很多数据,但我们关心的是ANSWER SECTION
中的那一行,那里会显示IP地址。
5. 使用 netstat
和 ss
分析网络连接
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. 实践任务
现在让我们把所有东西结合在一个实际的场景中。你需要完成以下步骤:
- 在你的计算机或虚拟环境中启用SSH,比如WSL2。
- 生成密钥并设置密钥认证(禁止密码登录)。
- 通过SSH连接到服务器。
- 使用
ping
检查服务器的可达性。 - 使用
nslookup
和dig
检查IP地址解析(如果你有域名)。 - 通过
netstat
、ss
和nc
检查服务器的22端口。
现在你不仅可以配置远程访问,还能解决网络问题、诊断服务器并像个真正的pro一样保护它!你已经逐步走向Linux专家的道路。
GO TO FULL VERSION