您好,登录后才能下订单哦!
# Ubuntu下SSH的安装及配置
## 1. SSH简介
SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中提供安全的远程登录和其他安全网络服务。它通过加密技术防止信息泄露和中间人攻击,是Linux系统管理员最常用的远程管理工具之一。
## 2. 安装SSH服务
### 2.1 检查是否已安装SSH
在开始安装前,建议先检查系统是否已安装SSH服务:
```bash
ssh -V
如果显示版本信息(如OpenSSH_8.2p1
),说明已安装;如果提示”command not found”,则需要安装。
Ubuntu默认使用OpenSSH实现SSH协议。安装命令如下:
sudo apt update
sudo apt install openssh-server
安装完成后,SSH服务会自动启动。可以通过以下命令验证服务状态:
sudo systemctl status ssh
正常状态应显示”active (running)“。
SSH的主要配置文件位于:
/etc/ssh/sshd_config
修改前建议备份原始文件:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
用文本编辑器(如nano或vim)打开配置文件:
sudo nano /etc/ssh/sshd_config
推荐修改的配置项:
# 修改默认端口(建议改为1024-65535之间的端口)
Port 2222
# 禁止root用户直接登录
PermitRootLogin no
# 限制用户登录(多个用户用空格分隔)
AllowUsers alice bob
# 启用公钥认证
PubkeyAuthentication yes
# 禁用密码认证(启用公钥认证后建议关闭)
PasswordAuthentication no
修改配置后需要重启服务:
sudo systemctl restart ssh
如果系统启用了UFW防火墙,需要放行SSH端口:
# 如果是默认22端口
sudo ufw allow ssh
# 如果修改了端口(例如2222)
sudo ufw allow 2222/tcp
验证防火墙规则:
sudo ufw status
在客户端机器上生成密钥对(如果尚未生成):
ssh-keygen -t rsa -b 4096
生成的密钥默认保存在~/.ssh/
目录下:
- id_rsa
:私钥(必须妥善保管)
- id_rsa.pub
:公钥
方法一:使用ssh-copy-id
工具
ssh-copy-id -p 2222 username@server_ip
方法二:手动复制
cat ~/.ssh/id_rsa.pub | ssh -p 2222 username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
确保服务器上的密钥文件权限正确:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
使用以下命令测试连接:
ssh -p 2222 username@server_ip
如果配置了密钥认证且禁用了密码登录,应该可以直接登录而无需输入密码。
定期更新:保持SSH服务为最新版本
sudo apt update && sudo apt upgrade openssh-server
Fail2Ban防护:安装Fail2Ban防止暴力破解
sudo apt install fail2ban
禁用不安全的算法:在sshd_config
中添加:
KexAlgorithms curve25519-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com
日志监控:定期检查SSH日志
sudo tail -f /var/log/auth.log | grep sshd
sudo systemctl status ssh
/var/log/auth.log
获取详细信息PasswordAuthentication
或PubkeyAuthentication
设置ping server_ip
sudo ss -tulnp | grep ssh
通过本文,您已经学会了在Ubuntu系统上安装和配置SSH服务的基本方法,包括: - SSH服务的安装与启动 - 关键安全配置项的修改 - 密钥认证的设置 - 基本故障排查方法
合理配置SSH服务可以显著提升系统安全性,建议管理员根据实际需求调整配置,并定期审查安全设置。
注意:本文基于Ubuntu 20.04 LTS编写,不同版本可能略有差异。 “`
这篇文章约1100字,采用Markdown格式编写,包含代码块、章节标题和列表等元素,可以直接用于技术文档发布。如需调整内容长度或细节,可以进一步修改。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。