登录Linux VPS(虚拟专用服务器)是进行服务器管理的基础操作,通常通过SSH(Secure Shell)协议实现安全远程连接,本文将详细介绍登录Linux VPS的完整流程、不同场景下的操作方法、安全配置建议及常见问题排查,帮助用户顺利完成连接并保障服务器安全。
登录前的准备工作
在尝试登录Linux VPS之前,需确保已获取以下关键信息,并完成基础安全设置:
- VPS基本信息:包括公网IP地址(或域名)、SSH端口号(默认为22,若修改过需使用实际端口)、登录用户名(通常为root,或服务商提供的默认用户,如ubuntu、centos等)。
- 认证凭据:登录密码(首次登录可能为服务商初始密码,需及时修改)或SSH密钥对(更安全的认证方式)。
- 客户端工具:根据本地操作系统选择合适的SSH客户端,如Windows系统常用PuTTY、Xshell,macOS/Linux系统可直接使用终端(Terminal)。
首次登录前务必确认VPS已启动,且网络可正常访问(可通过本地浏览器访问VPS控制台页面,或使用ping
命令测试IP连通性)。
通过SSH密码登录(基础方式)
密码登录是最直接的认证方式,适合初次连接或临时使用场景,但安全性低于密钥认证,操作步骤如下:
Windows系统(以PuTTY为例)
- 下载并安装PuTTY:访问PuTTY官网(https://www.putty.org/)下载安装包,安装后打开PuTTY.exe。
- 配置连接信息:在“Session”页面中,输入VPS的IP地址(或域名)和SSH端口号(默认22,若修改需勾选“Specify port”并填写),连接类型选择“SSH”。
- 登录服务器:点击“Open”,弹出终端窗口后输入用户名(如root),按回车键,再输入密码(输入时不会显示字符,直接输入即可),再次回车即可登录。
macOS/Linux系统(终端命令)
- 打开终端:在macOS中可通过“应用程序→实用工具→终端”打开;Linux系统中通常通过快捷键(如Ctrl+Alt+T)启动。
- 输入登录命令:格式为
ssh [用户名]@[IP地址] -p [端口号]
,例如ssh root@192.168.1.100 -p 22
。 - 输入密码并登录:按回车键后,根据提示输入密码,回车即可进入系统。
注意事项
- 密码登录时,若连续输错密码多次(通常5次),SSH连接会自动断开,需等待一段时间后重试。
- 首次登录时,若提示“Are you sure you want to continue connecting (yes/no)?”,输入“yes”即可(这是确认主机密钥的步骤,避免中间人攻击)。
通过SSH密钥登录(推荐方式)
SSH密钥认证通过加密的公钥和私钥对进行身份验证,无需传输密码,安全性更高,适合长期管理场景,操作分为生成密钥对、上传公钥到VPS、通过密钥登录三步:
生成SSH密钥对(本地操作)
-
Windows系统(PuTTYgen工具):
打开PuTTYgen,点击“Generate”生成密钥,随机移动鼠标增强随机性,完成后会显示公钥和私钥。- 保存私钥:点击“Save private key”,将私钥文件(如.ppk格式)保存到本地,妥善保管(切勿泄露)。
- 复制公钥:在“Public key for pasting into OpenSSH authorized_keys file”框中复制公钥内容(以“ssh-rsa”开头)。
-
macOS/Linux系统(ssh-keygen命令):
打开终端,输入ssh-keygen -t rsa -b 4096
(-t指定密钥类型为RSA,-b指定密钥长度4096位,更安全),按回车键后默认保存到~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥),可设置密码保护私钥(可选)。
复制公钥内容:cat ~/.ssh/id_rsa.pub
,输出结果即为公钥。
上传公钥到VPS
- 通过密码登录后手动添加
先通过密码登录VPS,执行以下命令:mkdir -p ~/.ssh # 确保.ssh目录存在 chmod 700 ~/.ssh # 设置目录权限(仅所有者可读写执行) echo "公钥内容" >> ~/.ssh/authorized_keys # 将复制的公钥追加到authorized_keys文件 chmod 600 ~/.ssh/authorized_keys # 设置文件权限(仅所有者可读写)
- 通过ssh-copy-id命令(推荐)
在本地终端执行:ssh-copy-id -i [公钥文件路径] [用户名]@[IP地址] -p [端口号]
,例如ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100 -p 22
,执行后输入VPS密码,即可自动将公钥上传到~/.ssh/authorized_keys。
通过密钥登录
- Windows系统(PuTTY):
打开PuTTY,在“Connection→SSH→Auth”页面中,点击“Browse”选择之前保存的私钥文件(.ppk格式),返回“Session”页面,点击“Open”即可直接登录(无需输入密码)。 - macOS/Linux系统(终端命令):
输入ssh -i [私钥文件路径] [用户名]@[IP地址] -p [端口号]
,例如ssh -i ~/.ssh/id_rsa root@192.168.1.100 -p 22
,若私钥设置了密码,需输入私钥密码。
安全优化
- 禁用密码登录:登录VPS后,编辑SSH配置文件
vi /etc/ssh/sshd_config
,将PasswordAuthentication yes
改为no
,保存后执行systemctl restart sshd
重启SSH服务,此后仅允许密钥登录。 - 修改默认端口:避免使用22端口,降低被扫描攻击的风险(编辑
/etc/ssh/sshd_config
,修改Port
字段为非默认端口,如2222,重启SSH服务)。
不同操作系统客户端操作对比
为方便用户快速上手,以下表格总结主流操作系统下的SSH客户端选择及操作要点:
操作系统 | 推荐客户端 | 核心操作步骤 |
---|---|---|
Windows | PuTTY | 下载安装PuTTY和PuTTYgen;2. PuTTYgen生成密钥并保存私钥;3. PuTTY中输入IP、端口,选择SSH并加载私钥;4. 点击Open登录。 |
Windows | Xshell | 新建会话,输入IP、端口、用户名;2. 在“身份验证”中选择“Public Key”,导入私钥文件;3. 连接后输入私钥密码(如有)。 |
macOS | 终端(Terminal) | 生成密钥:ssh-keygen -t rsa -b 4096 ;2. 上传公钥:ssh-copy-id user@ip ;3. 登录:ssh -i ~/.ssh/id_rsa user@ip 。 |
Linux | 终端(Terminal) | 同macOS操作(基于OpenSSH工具,操作一致)。 |
常见问题排查
连接超时或拒绝连接
- 原因:VPS防火墙未开放SSH端口、SSH服务未启动、网络不通。
- 排查:
- 检查VPS控制台是否开启SSH服务(如CentOS系统执行
systemctl status sshd
,Ubuntu系统执行systemctl status ssh
)。 - 检查防火墙规则:CentOS使用
firewall-cmd --list-ports
确认端口是否开放,Ubuntu使用ufw status
;若未开放,需添加规则(如CentOS:firewall-cmd --add-port=22/tcp --permanent
,Ubuntu:ufw allow 22
)。 - 本地网络测试:使用
ping [IP地址]
检查VPS是否可达,或通过telnet [IP地址] [端口]
测试端口连通性。
- 检查VPS控制台是否开启SSH服务(如CentOS系统执行
认证失败(密码/密钥错误)
- 原因:用户名错误、密码错误、密钥文件路径错误、公钥未正确上传。
- 排查:
- 确认用户名和密码是否正确(可联系服务商重置密码)。
- 密钥登录时,检查私钥文件路径是否正确,公钥是否已添加到
~/.ssh/authorized_keys
(可通过cat ~/.ssh/authorized_keys
查看)。 - 检查SSH服务配置:确认
/etc/ssh/sshd_config
中PasswordAuthentication
和PubkeyAuthentication
是否设置为yes
(根据认证方式调整)。
相关问答FAQs
Q1:忘记VPS登录密码怎么办?
A:若忘记密码,可通过VPS服务商提供的控制台功能重置密码:
- 登录VPS服务商管理平台(如阿里云、腾讯云、Vultr等);
- 进入VPS实例详情页,找到“重置密码”或“重置root密码”功能;
- 根据提示设置新密码(部分服务商需先停止VPS才能重置);
- 重启VPS后使用新密码登录。
Q2:SSH连接提示“Permission denied (publickey,password)”怎么办?
A:此错误通常表示认证方式未启用或配置错误,排查步骤如下:
- 检查SSH配置文件:编辑
/etc/ssh/sshd_config
,确保PasswordAuthentication yes
(密码登录)或PubkeyAuthentication yes
(密钥登录)未被注释; - 重启SSH服务:执行
systemctl restart sshd
; - 若使用密钥登录,确认公钥已正确添加到
~/.ssh/authorized_keys
,且文件权限为600
,目录权限为700
; - 检查VPS防火墙是否允许SSH端口(如22或自定义端口)。
通过以上步骤,用户可顺利登录Linux VPS,并根据实际需求选择密码或密钥认证方式,建议优先使用密钥认证并优化SSH配置,以提升服务器安全性。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31174.html