服务器登录是系统管理、开发运维及日常工作中不可或缺的基础操作,无论是管理云服务器、本地物理机,还是远程访问开发环境,安全、规范的登录流程不仅能保障数据安全,也能提升工作效率,本文将详细介绍服务器登录的准备工作、常用方法、安全注意事项及常见问题解决方案,帮助用户建立清晰的登录认知。

登录前的准备工作
在连接服务器前,需确保以下准备工作就绪,避免因信息缺失或工具问题导致登录失败。
获取登录凭证
服务器的登录凭证通常包括:
- IP地址/域名:服务器的公网IP(或内网IP)及解析后的域名,需确认网络可达性。
- 端口:默认SSH端口为22,若修改过端口(如2222),需在登录时指定。
- 用户名与密码:root用户(或通过
sudo提权的普通用户)的登录名及初始密码。 - 密钥对(可选):为提升安全性,建议使用SSH密钥对(公钥+私钥)替代密码登录,需提前将公钥配置到服务器
~/.ssh/authorized_keys文件中。
选择登录工具
根据操作系统和需求选择合适的客户端工具:
- Windows系统:可使用PuTTY(图形化工具)、Xshell或PowerShell(支持SSH命令)。
- macOS/Linux系统:内置终端工具,可直接使用
ssh命令行登录。 - 移动端:如Termius(iOS/Android)、JuiceSSH等支持SSH的APP。
网络环境配置
确保本地网络与服务器网络互通:
- 若服务器为云服务器,需检查安全组规则是否放行了登录端口(如TCP 22)。
- 若通过内网登录,需确保本地设备与服务器在同一局域网,或通过VPN接入。
服务器登录的常用方法
通过SSH命令行登录(Linux/macOS默认)
打开终端,输入以下命令格式:
ssh p [端口号] [用户名]@[IP地址或域名]
示例(默认端口22):
ssh root@192.168.1.100
若修改过端口(如2222):
ssh p 2222 root@example.com
首次登录时,系统会提示“Are you sure you want to continue connecting (yes/no)?”,输入yes即可保存服务器指纹,随后输入密码完成登录。
通过PuTTY登录(Windows图形化工具)
- 下载并打开PuTTY,在“Session”页面输入服务器IP地址、端口(默认22),选择“SSH”连接类型。
- 在“Connection > Data”中输入“Autologin username”(用户名)。
- 在“Connection > SSH > Auth”中,可选择“Password”登录(需输入密码),或上传私钥文件(
.ppk格式)进行密钥认证。 - 点击“Open”打开终端,输入密码完成登录。
通过密钥对登录(推荐)
密钥登录比密码更安全,可有效防止暴力破解,操作步骤:

- 生成密钥对(本地设备执行):
sshkeygen t rsa b 4096 C "your_email@example.com"
默认会在
~/.ssh/目录下生成id_rsa(私钥,需妥善保管)和id_rsa.pub(公钥)。 - 上传公钥到服务器:
方法1:通过sshcopyid命令(推荐):sshcopyid p [端口] [用户名]@[服务器IP]
方法2:手动将公钥内容追加到服务器
~/.ssh/authorized_keys文件中:cat ~/.ssh/id_rsa.pub | ssh [用户名]@[服务器IP] "mkdir p ~/.ssh && cat >> ~/.ssh/authorized_keys"
完成后,登录时无需输入密码,系统会自动验证私钥。
登录安全注意事项
禁用root直接登录
为降低安全风险,建议在服务器中禁用root直接SSH登录,编辑/etc/ssh/sshd_config文件,修改以下配置:
PermitRootLogin no
保存后重启SSH服务:
sudo systemctl restart sshd
后续需通过普通用户登录,再通过sudo执行管理命令。
修改默认端口
避免使用默认的22端口,可自定义端口(如2222),在/etc/ssh/sshd_config中修改:
Port 2222
重启SSH服务后,登录时需指定新端口:
ssh p 2222 user@server
配置 fail2ban 防暴力破解
安装fail2ban工具,自动拦截多次失败登录的IP地址:

sudo apt install fail2ban # Debian/Ubuntu sudo yum install fail2ban # CentOS/RHEL
编辑/etc/fail2ban/jail.local,配置SSH防护规则:
[sshd] enabled = true port = 22 maxretry = 3 bantime = 3600
重启fail2ban服务后,即可自动拦截恶意IP。
定期更新系统和SSH服务
保持服务器系统及SSH版本最新,及时修复安全漏洞:
sudo apt update && sudo apt upgrade y # Debian/Ubuntu sudo yum update y # CentOS/RHEL
常见问题与解决方案
FAQs
Q1:提示“Permission denied (publickey,password)”怎么办?
A:通常因认证失败导致,可按以下步骤排查:
- 确认用户名和密码(或私钥)是否正确。
- 若使用密钥登录,检查私钥路径是否正确(如
~/.ssh/id_rsa),或尝试用ssh v user@server查看详细错误信息。 - 确认服务器
~/.ssh目录权限为700,authorized_keys文件权限为600:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
Q2:登录后出现“bash: no job control in this shell”错误如何处理?
A:此错误通常因shell配置文件(如.bashrc或.profile)中存在语法错误导致,可通过以下步骤修复:
- 进入用户家目录,备份并检查配置文件:
cp ~/.bashrc ~/.bashrc.bak nano ~/.bashrc # 或使用vim编辑
- 注释或删除可疑配置(如错误的
export或alias命令),保存后重新登录即可。
用户可系统掌握服务器登录的规范流程和安全实践,确保高效、安全地访问服务器资源。
