Linux SSH 服务安装配置指南
SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地进行远程访问和文件传输。它通过加密技术,确保通信的安全性,使得用户可以在不同的计算机之间安全地传输数据和执行命令。SSH 在 Linux 系统中被广泛使用,特别是在 Ubuntu 这样的开源操作系统中。
SSH 通过使用加密技术来保护通信的安全性。当用户连接到远程服务器时,SSH 会建立一个加密的隧道,所有的数据传输都会在这个隧道中进行加密和解密。这种加密方式可以防止黑客监听或篡改通信内容,确保数据的机密性和完整性。
SSH 还提供了身份验证机制,以确保只有授权用户可以访问远程服务器。用户可以使用密码、密钥对等方式进行身份验证,以证明自己的身份。
1. SSH 的基本概念
在使用 SSH 时,有几个基本概念是需要了解的:
客户端(Client):指连接到远程服务器的计算机,通常是用户自己的计算机。
服务器(Server):指远程主机,用户希望远程访问的计算机。
会话(Session):指客户端与服务器之间建立的连接,用户可以在会话中执行命令、传输文件等操作。
端口(Port):指网络通信中的一个逻辑连接点,SSH 默认使用 22 端口进行通信。
密钥对(Key Pair):指由公钥和私钥组成的一对密钥,用于加密和解密通信内容以及进行身份验证。
2. 安装 SSH 服务
以 ubuntu 系统为例
sudo apt-get update
sudo apt-get install openssh-server
3. 检查 SSH 服务状态
sudo systemctl status ssh
正常显示Active:active(running)即表示 ssh 服务已开启
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-12-22 12:51:27 CST; 8s ago
TriggeredBy: ● ssh.socket
Docs: man:sshd(8)
man:sshd_config(5)
Process: 699992 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 699994 (sshd)
Tasks: 1 (limit: 18755)
Memory: 2.1M (peak: 2.6M)
CPU: 13ms
CGroup: /system.slice/ssh.service
└─699994 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
12月 22 12:51:27 MaxUbuntu systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
12月 22 12:51:27 MaxUbuntu sshd[699994]: Server listening on 0.0.0.0 port 22.
12月 22 12:51:27 MaxUbuntu sshd[699994]: Server listening on :: port 22.
12月 22 12:51:27 MaxUbuntu systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
如果没有正常启动可执行如下命令:
sudo systemctl enable ssh
sudo systemctl start ssh
4. 配置 SSH 服务
默认情况下,OpenSSH 服务器的配置文件位于 /etc/ssh/sshd_config。可以根据需要修改此文件来进行自定义配置。例如,可以更改 SSH 服务器的监听端口、允许或禁止密码登录、限制登录用户等。
具体说明man sshd参考。
5. 配置 SSH 防火墙规则
5.1 检查防火墙状态
sudo ufw status
如果显示防火墙未启用,执行以下命令启用防火墙并添加 ssh 规则:
sudo ufw enable
sudo ufw allow OpenSSH
5.2 验证 SSH 防火墙规则状态
sudo ufw status | grep ssh
正常应该显示如下信息:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
6. 测试 SSH 连接
6.1 获得服务器 ip
ip addr | grep inet
6.2 客户端连接测试
在客户端输入如:
ssh root@192.168.1.30 -p 22
如果为默认端口22,后面的 -p 22 可以省略,如果非默认端口需指定。
如果这是您第一次连接到服务器,系统可能会要求您输入密码。输入您的密码并按下 Enter 键。
如果您首次连接到服务器并成功验证身份,系统可能会显示一条消息询问您是否愿意继续连接。输入 yes 并按下 Enter 键。
正常输入密码后会显示欢迎界面:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-161-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
Welcome to Alibaba Cloud Elastic Compute Service !
Last login: Sun Dec 21 16:47:54 2025 from 110.6.168.85
这意味着您已经成功通过 SSH 连接到您的 Ubuntu 服务器。
7. SSH 客户端推荐
PuTTY:一个广泛使用的SSH客户端,支持Windows和Linux平台。
MobaXterm:集成了多种网络工具的SSH客户端,适合Windows用户。
Xshell:功能强大的SSH客户端,支持多标签和脚本功能,适合专业用户。
Termius:跨平台的SSH客户端,支持Windows、Mac、Linux和移动设备。
WinSCP:除了SSH功能外,还支持SFTP和FTP,适合文件传输。
FinalShel:一体化的的服务器网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.
这些工具可以帮助用户安全地远程连接服务器,提升管理效率。