要通过SSH连接阿里云Ubuntu虚拟主机,需完成本地环境配置、阿里云安全组设置、SSH连接操作及常见问题排查,以下是详细步骤和注意事项:
本地环境准备
安装SSH客户端
- Windows系统:推荐使用OpenSSH(Windows 10/11已内置)或第三方工具如PuTTY、Xshell。
OpenSSH启用方法:设置 → 应用 → 可选功能 → 添加功能 → 搜索“OpenSSH客户端”。
- macOS/Linux系统:默认已安装SSH客户端,通过终端直接使用
ssh
命令。
- Windows系统:推荐使用OpenSSH(Windows 10/11已内置)或第三方工具如PuTTY、Xshell。
获取主机连接信息
登录阿里云ECS控制台,记录目标Ubuntu实例的公网IP地址和22端口(默认SSH端口),确保实例状态为“运行中”。
阿里云安全组配置
安全组需放行SSH访问规则,否则连接会被拒绝,操作步骤如下:
- 登录ECS控制台,进入“安全组”列表。
- 选择目标实例所属的安全组,点击“配置规则”。
- 在“入方向”页面点击“手动添加”,按以下参数配置:
- 授权策略:允许
- 授权对象:0.0.0.0/0(允许所有IP,生产环境建议限制为特定IP)
- 端口范围:22
- 优先级:1(默认)
- 点击“保存”,规则生效后约1分钟内即可连接。
SSH连接操作
首次连接(密钥对方式)
- 生成密钥对(本地终端执行):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按提示保存密钥(默认路径
~/.ssh/id_rsa
),无需设置密码可直接回车。 - 导入公钥至阿里云:
登录ECS控制台,进入实例详情页“密钥对”选项,点击“绑定密钥对”,选择刚生成的公钥文件(~/.ssh/id_rsa.pub
)。 - 连接命令:
ssh -i ~/.ssh/id_rsa ubuntu@<公网IP>
首次连接会提示“Are you sure you want to continue connecting?”,输入
yes
即可。
密码方式连接
若实例未绑定密钥对,需通过密码连接:
ssh ubuntu@<公网IP>
输入购买时设置的root密码或自定义用户密码(默认用户为ubuntu
)。
连接后常见操作
- 更新系统:
sudo apt update && sudo apt upgrade -y
- 配置防火墙(如需):
sudo ufw allow 22 && sudo ufw enable
- 创建新用户(推荐):
sudo adduser newuser sudo usermod -aG sudo newuser
常见问题排查
若连接失败,检查以下问题:
| 问题现象 | 可能原因 | 解决方法 |
|———————-|—————————–|————————————-|
| Connection timed out | 安全组未放行22端口 | 检查安全组入方向规则,确保22端口开放 |
| Permission denied | 密钥错误或密码错误 | 确认密钥文件权限(chmod 600 ~/.ssh/id_rsa
)或重置密码 |
| Network unreachable | 实例未分配公网IP或欠费 | 检查实例状态和弹性公网IP绑定情况 |
相关问答FAQs
Q1: 连接提示“Permission denied (publickey,password).”怎么办?
A1: 此错误通常由密钥或权限问题导致。
- 密钥问题:检查本地私钥文件是否正确(
~/.ssh/id_rsa
),或尝试使用-v
参数查看详细日志:ssh -v -i ~/.ssh/id_rsa ubuntu@<IP>
。 - 权限问题:确保私钥文件权限为600(
chmod 600 ~/.ssh/id_rsa
),且阿里云实例绑定的公钥与本地公钥一致。 - 密码问题:若使用密码连接,确认输入的是实例用户密码(非阿里云账户密码),且用户有SSH登录权限。
Q2: 如何修改SSH默认端口(22)以提高安全性?
A2: 修改步骤如下:
- 编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
- 修改Port行:将
#Port 22
改为自定义端口(如2222
),并取消注释。 - 更新安全组规则:在阿里云安全组入方向添加新端口(2222),删除22端口规则。
- 重启SSH服务:
sudo systemctl restart sshd
- 测试连接:使用新端口连接:
ssh -p 2222 ubuntu@<IP>
。
注意:修改前确保防火墙允许新端口,避免锁死连接。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复