windows11 buntu24.04 安装 SSH 服务
windows11 buntu24.04 安装 SSH 服务
windows11 buntu24.04 安装 SSH 服务
安全外壳协议(Secure Shell,简称 SSH)
是在不安全网络上用于安全远程登录和其他安全网络服务的协议
SSH 由 IETF 的网络小组(Network Working Group)所制定
SSH 为建立在应用层基础上的安全协议
SSH 是较可靠 专为远程登录会话和其他网络服务提供安全性的协议
SSH 协议可以有效防止远程管理过程中的信息泄露问题
SSH 最初是 UNIX 系统上的一个程序 扩展到其他操作平台
SSH 在正确使用时可弥补网络中的漏洞
SSH 客户端适用于多种平台
几乎所有UNIX平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行 SSH
前置条件
Windows 系统的宿主机上以 wsl 搭建好了 Ubuntu24.04
Ubuntu24.04 安装 SSH 服务
安装 SSH 服务之前,最好先更新一下 Ubuntu 系统的软件包列表:
sudo apt update
安装 OpenSSH:
sudo apt install openssh-server -y
安装好 SSH 后
ssh -V 命令检查 OpenSSH 服务器的版本
ssh -V
OpenSSH_9.6p1 Ubuntu-3ubuntu13.8, OpenSSL 3.0.13 30 Jan 2024
配置 OpenSSH(安全性)
编辑 /etc/ssh/sshd_config 文件以调整
OpenSSH 默认使用安全加密和身份验证
通过采取以下配置来进一步增强安全性
- 更改 OpenSSH 端口
更改默认的 OpenSSH 端口是防止未经授权访问 Ubuntu
编辑
/etc/ssh/sshd_config
配置文件进行更改
超级用户权限(sudo)打开 SSH 配置文件
sudo vi /etc/ssh/sshd_config
原 /etc/ssh/sshd_config 配置文件
很多代码都是被注释掉的
这些注释中找到并取消注释 Port 此行
删除 # 符号并更改端口号(默认情况下是 22)
例如,将端口更改为 2222
Port 2222
保存文件并退出编辑器,输入下列命令重新启动 SSH 服务以使更改生效:
sudo systemctl restart ssh
更改端口后
要确保防火墙允许该端口的流量通过
- 限制使用 SSH 登录尝试次数
要在 Ubuntu 上使用 SSH 限制登录尝试
编辑 /etc/ssh/sshd_config 配置文件进行更改
设置 MaxAuthTries 参数
该参数后的数字就是限制用户在一次 SSH 会话中尝试登录的次数
当达到指定的尝试次数后,SSH 服务器将拒绝进一步的登录尝试
找到 MaxAuthTries 行,默认情况下被注释掉的,前面有一个 # 符号
取消注释并设置一个适当的尝试次数
如设置为 3
保存文件并退出编辑器
重新启动 SSH 服务才能生效
增加服务器的安全性
防止暴力破解攻击。
- 禁止 SSH 以 root 身份连接
禁止 SSH 以 root 身份连接是一种常见的安全实践
因为减少潜在的风险
编辑 /etc/ssh/sshd_config 配置文件进行更改
找到 PermitRootLogin 行,取消注释并将其设置为 no
保存文件并退出编辑器
重新启动 SSH 服务生效
设置防火墙(UFW)锁定 SSH
确保防火墙允许新端口的流量通过非常重要
否则 SSH 连接将无法成功
Ubuntu 用 ufw(Uncomplicated Firewall)来管理防火墙规则
使用以下命令允许新端口的流量通过防火墙:
sudo ufw allow <new port>/tcp
如端口更改为 2222则应该运行
sudo ufw allow 2222/tcp
然后启用防火墙:
sudo ufw enable
设置端口转发
为了能够从外部连接到你的WSL Linux子系统
确保系统具有公共IP地址
或设置端口转发以将流量路由到WSL子系统的局域网IP地址
请检查你的网络配置 确保WSL子系统能够访问公共网络 且有一个可供外部访问的IP地址 netsh interface portproxy show all
增加转发的命令
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=172.19.60.177 connectport=22
远程终端软件通过 SSH 连接 Ubuntu24.04
-
远程终端软件连接 Ubuntu(以 MobaXterm 为例)
SSH 的方式连接,以次输入 IP 地址、用户名和端口号
然后输入密码回车即可
密码不显示 -
CMD 窗口连接 Ubuntu
没有安装 MobaXterm 等终端软件
用 Windows 的 OpenSSH 客户端
在 Windows 10 上,可以通过设置应用中的 “应用和功能” 菜单找到 “可选功能”
启用 “OpenSSH 客户端” 功能
Windows 11 上
默认情况下 OpenSSH 客户端已经预安装,无需再进行额外的安装
按组合键 Win + r 打开运行窗口
用 ssh 命令连接到远程服务器,以下是命令的格式:
ssh username@remote_host
ssh -p port_number username@remote_host
第一行是默认端口为 22 的连接命令
第二行是自定义端口号
port_number 为端口号
username 为用户名
remote_host 为 IP 地址
ssh -p 2222 ubuntu@192.168.1.5
第一次要先输入 “yes” 回车,再输入密码回车(之后只要输入密码就行)
Ubuntu24.04 的 SSH 故障排查
最常见的 SSH 服务故障问题就是连接失败
确认 SSH 服务是否运行:
使用以下命令检查 SSH 服务是否正在运行:
sudo systemctl status ssh
SSH 服务正在运行 看到类似于 “active (running)” 的消息
如果服务未运行 启动
sudo systemctl start ssh
检查 SSH 配置文件:
确保 SSH 配置文件 /etc/ssh/sshd_config 中的设置正确
特别关注 Port、PermitRootLogin、MaxAuthTries 等参数是否设置为预期值
检查防火墙设置
如果更改了 SSH 端口,要确保防火墙允许新端口的流量通过
查看当前允许的端口:
sudo ufw status
查看系统日志:
检查系统日志以查找与 SSH 相关的任何错误消息
系统日志通常存储在 /var/log 目录下
可以查看 /var/log/auth.log 或 /var/log/syslog 文件。
检查 SSH 配置的完整性:
检查 SSH 配置文件的语法是否正确,可以使用 sshd 命令的 -t 选项来测试配置文件的语法是否正确:
sudo sshd -t
如果输入命令后,没有显示任何信息,则表示配置正确。
查看网络连接:
确保您的服务器网络连接正常。您可以使用 ping 命令来测试网络连接:
ping -c 4 <server_ip>
如
ping -c 4 192.168.1.5