连接云主机Linux是运维和开发中的常见操作,主要通过网络协议实现远程访问,以下是详细步骤和注意事项,涵盖不同操作系统环境下的连接方法及安全配置。
准备工作
在连接前,需确保已获取以下信息:
- 云主机公网IP地址:在云服务商控制台(如阿里云、腾讯云、AWS等)的实例详情页查看。
- 登录凭据:用户名(默认多为
root
或ubuntu
/centos
等,根据镜像系统确定)及密码(或SSH密钥对,推荐使用密钥更安全)。 - 网络权限:确保云主机安全组(防火墙)已开放SSH默认端口
22
(若修改过端口则需对应开放)。
通过SSH连接(主流方式)
SSH(Secure Shell)是加密的远程协议,支持命令行和图形化工具连接,分操作系统环境说明:
Linux/macOS系统(原生SSH客户端)
- 基本命令:打开终端,输入以下命令(替换
username
和public_ip
为实际值):ssh username@public_ip
- 首次连接会提示
The authenticity of host 'public_ip (public_ip)' can't be established
,输入yes
确认。 - 若使用密码登录,输入密码(输入时不会显示字符);若使用密钥对,需提前将私钥配置到本地(默认路径
~/.ssh/id_rsa
)。
- 首次连接会提示
- 指定端口:若SSH端口非22,通过
-p
参数指定:ssh -p 端口号 username@public_ip
Windows系统(需第三方工具)
Windows默认无SSH客户端,推荐使用以下工具:
- PuTTY:轻量级工具,支持SSH和Telnet。
- 下载并安装PuTTY,打开后输入
public_ip
,端口选22
,连接类型选SSH
。 - 在“Connection > Data”中输入
Auto-login username
(如root
),在“Connection > SSH > Auth”中上传私钥文件(若有)或选择Password
输入密码,点击Open
连接。
- 下载并安装PuTTY,打开后输入
- Xshell:功能更强大的终端工具,支持标签页、文件传输等。
- 新建会话,输入主机名(IP)和端口,协议选
SSH
,在“用户身份验证”中输入用户名和密码/私钥路径,连接即可。
- 新建会话,输入主机名(IP)和端口,协议选
通过云服务商控制台网页连接(应急方式)
若无法通过SSH连接(如忘记密码、网络问题),可通过云厂商提供的网页VNC或SSH客户端访问:
- 登录云服务商控制台,进入“云主机”或“弹性计算”列表,找到目标实例。
- 点击“远程连接”或“VNC登录”,部分平台需先获取临时登录密码(如阿里云的“设置密码”功能)。
- 在网页终端中输入用户名和密码,操作与本地终端一致,但网络稳定性可能较差,适合临时排查问题。
连接后的安全配置
首次连接后,建议完成以下安全设置:
- 修改默认密码:通过
passwd
命令重置用户密码,确保复杂度(大小写+数字+特殊字符)。 - 禁用root远程登录:编辑SSH配置文件
/etc/ssh/sshd_config
,将PermitRootLogin yes
改为no
,重启SSH服务:systemctl restart sshd
。 - 配置密钥对登录:生成本地密钥(
ssh-keygen -t rsa
),将公钥(~/.ssh/id_rsa.pub
)上传至云主机~/.ssh/authorized_keys
,并设置权限600
,之后即可免密登录。
密钥对配置步骤(表格)
步骤 | 操作 | 命令/说明 |
---|---|---|
生成本地密钥 | 在客户端执行 | ssh-keygen -t rsa -b 4096 (按回车使用默认路径) |
查看公钥 | 输入以下命令 | cat ~/.ssh/id_rsa.pub (复制公钥内容) |
上传公钥到云主机 | 方法1:SSH登录后手动创建 | mkdir -p ~/.ssh ;echo "公钥内容" >> ~/.ssh/authorized_keys |
方法2:使用ssh-copy-id (推荐) |
ssh-copy-id -i ~/.ssh/id_rsa.pub username@public_ip |
|
设置权限 | 确保密钥文件权限正确 | chmod 700 ~/.ssh ;chmod 600 ~/.ssh/authorized_keys |
相关问答FAQs
Q1:连接提示“Permission denied, please try again”怎么办?
A:可能原因包括:用户名错误、密码/密钥不正确、云主机安全组未开放22端口、或SSH服务未启动,检查用户名和凭据,登录云控制台确认安全组规则,并在云主机内执行systemctl status sshd
检查SSH服务状态。
Q2:如何实现Linux云主机免密登录?
A:需配置SSH密钥对:在客户端生成密钥(ssh-keygen
),将公钥上传至云主机的~/.ssh/authorized_keys
文件中,并设置正确权限(600
),之后通过ssh username@public_ip
即可免密登录,无需输入密码。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/33641.html