一、SSH 简介
SSH,全称为 Secure Shell,是一种加密网络协议,用于远程管理主机。
SSH 的工作原理是基于公钥加密的身份验证机制,基于 TCP/IP 协议建立安全的连接。 在对话中,SSH 客户端和 SSH 服务器使用公钥和私钥,进行加密和解密,以保证数据传输的安全性。
二、安装 SSH
Ubuntu 是一种常用的 Linux 发行版,提供强大的命令行和终端。安装 SSH 可以让你在连接到 Ubuntu 主机时,远程访问和管理该主机。
下面是在 Ubuntu 上安装 SSH 的步骤:
1. 更新系统
sudo apt update
sudo apt upgrade
2. 安装 SSH 服务端
sudo apt install openssh-server
安装过程可能需要输入用户密码确认
3. 启动 SSH 服务端
sudo systemctl start ssh
这一步会启动 SSH 服务端
4. 设置 SSH 服务端开机自启动
sudo systemctl enable ssh
这一步会将 SSH 服务端设置为开机自启动。
三、配置 SSH 服务端
安装 SSH 之后,我们需要配置一些参数,以优化 SSH 服务的性能和安全性。
1. 配置 SSH 端口号
默认情况下,SSH 使用 TCP 端口号 22 进行通信。 但是,出于安全考虑,应该更改默认端口号,以防止恶意攻击者对 SSH 端口进行扫描。为了更改 SSH 端口号,请执行以下命令:
sudo nano /etc/ssh/sshd_config
使用编辑器打开 /etc/ssh/sshd_config 文件,并添加以下行:
Port 2222
在设置新 SSH 端口号时,请确保选择一个未使用的端口号
2. 禁用 root 用户的 SSH 登录
禁用 root 用户的 SSH 登录可以提高安全性。
要禁用 root 群组的 SSH 登录,请编辑 /etc/ssh/sshd_config 文件,并使以下语句适用:
PermitRootLogin no
3. 配置 SSH 连接超时时间
配置连接超时时间可以防止未连接的 SSH 会话滥用系统资源。
要配置 SSH 连接超时时间,请编辑 /etc/ssh/sshd_config 文件,并添加以下行:
ClientAliveInterval 120
ClientAliveCountMax 3
在这个例子中,我们指定 SSH 客户端空闲120秒后被断开连接。如果在这段时间内没有任何活动,则 SSH 客户端将关闭连接。
四、连接到 Ubuntu 服务器
现在,我们已经成功安装和配置了 SSH 服务端,可以通过 SSH 连接到 Ubuntu 服务器了。
打开终端,输入以下命令,连接到远程 Ubuntu 服务器:
$ ssh your_username@your_server_ip_address -p your_port_number
参数说明:
your_username
:登录到 Ubuntu 的用户名your_server_ip_address
:Ubuntu 服务器的IP地址your_port_number
:配置 SSH 端口时选择的端口号
完成之后,你应该会收到一个类似于下面这样的消息:
The authenticity of host '[server_ip_address]:port_number ([server_ip_address]:port_number)' can't be established.
ECDSA key fingerprint is SHA256:[fingerprint].
Are you sure you want to continue connecting (yes/no/[fingerprint])?
这是因为第一次连接到该主机,需要确认该主机的 SSH 公钥。
输入 yes
,然后输入你的密码,就可以连接到 Ubuntu 服务器了。
五、总结
至此,我们详细介绍了在 Ubuntu 中安装和配置 SSH 的步骤,包括了如何更改 SSH 端口、禁用 root 用户登录、设置 SSH 连接超时时间,并通过SSH连接到远程Ubuntu服务器。SSH的加密和身份验证机制可以确保你的远程访问和主机管理安全可靠。