Linux作为服务器和开发环境的核心工具,命令行登录是其高效管理的基础,无论是本地直接操作还是远程服务器维护,掌握命令行登录方法都是Linux用户的必备技能,本文将从本地登录、远程登录两大场景出发,详细讲解具体步骤、常用命令及注意事项,帮助用户全面掌握Linux命令行登录技巧。
本地命令行登录
本地登录指在物理机或虚拟机前通过键盘直接登录系统,主要分为图形界面切换登录和纯文本终端登录两种方式。
图形界面切换至命令行
若系统安装了图形界面(如GNOME、KDE),登录后默认进入图形桌面,此时可通过快捷键切换到命令行终端:按Ctrl+Alt+F1
~Ctrl+Alt+F6
中的任意组合(具体取决于系统配置),即可切换到独立的文本虚拟终端(TTY)。Ctrl+Alt+F1
通常对应tty1
,输入用户名和密码后即可进入命令行环境,若需返回图形界面,按Ctrl+Alt+F7
(或F8
,根据系统调整)即可。
纯文本终端登录
对于服务器或 minimal 安装的Linux系统,开机后直接进入命令行登录界面,此时会显示Login:
提示,输入用户名后按回车,再输入密码(密码输入时不显示字符)即可登录,首次登录建议使用普通用户,root用户拥有最高权限,需谨慎使用,避免误操作导致系统故障。
远程命令行登录
远程登录是管理服务器的核心方式,通过加密协议安全访问远程主机,最常用的是SSH(Secure Shell)协议。
SSH基本登录
SSH协议默认使用22端口,通过加密传输数据,保障登录安全,基本语法为:
ssh [用户名]@[主机IP或域名]
登录IP为168.1.100
的远程服务器,用户名为user
,则命令为:
ssh user@192.168.1.100
首次连接时,系统会提示“Are you sure you want to continue connecting (yes/no)?”,输入yes
确认主机指纹(避免中间人攻击),之后输入用户密码即可登录。
SSH常用选项
SSH支持多种选项,灵活使用可提升登录效率和安全性:
- 指定端口:若远程服务器SSH端口非默认22(出于安全考虑常修改),需用
-p
选项指定,如ssh -p 2222 user@192.168.1.100
。 - 密钥登录:比密码登录更安全,需提前生成密钥对(本地执行
ssh-keygen -t rsa -b 4096
,一路回车使用默认路径),然后将公钥上传至服务器:ssh-copy-id user@192.168.1.100
,上传后即可免密登录,服务器会通过私钥验证用户身份。 - 调试模式:连接出现问题时,用
-v
选项输出详细日志,如ssh -v user@192.168.1.100
,可定位网络或认证问题。
虚拟终端与远程登录的区别
本地虚拟终端(如tty1
)是系统直接提供的文本界面,而远程登录(如SSH)通过网络协议访问,两者本质不同:前者无需网络,后者依赖网络且支持跨机器操作。
常见注意事项
- 密码安全:Linux密码区分大小写,需设置复杂密码(字母+数字+特殊字符),并定期更换;root密码应严格限制使用场景,避免直接登录。
- SSH服务配置:确保远程服务器已安装SSH服务(Ubuntu/Debian用
sudo apt install openssh-server
,CentOS用sudo yum install openssh-server
),并启动服务(systemctl start sshd
,设置开机自启systemctl enable sshd
)。 - 防火墙规则:若远程无法连接,检查服务器防火墙是否开放SSH端口(如
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
,或使用firewall-cmd
管理firewalld)。 - 禁止root直接登录:为提升安全性,编辑SSH配置文件
/etc/ssh/sshd_config
,将PermitRootLogin yes
改为no
,保存后重启sshd
服务(systemctl restart sshd
),此后需用普通用户登录后切换至root(sudo su -
)。
相关问答FAQs
Q1: SSH连接提示“Permission denied (publickey,password)”怎么办?
A: 该错误通常由认证失败导致,排查步骤如下:
① 确认是否使用正确用户名和密码(或密钥);
② 若使用密钥登录,检查本地私钥文件权限(需为600
,命令:chmod 600 ~/.ssh/id_rsa
);
③ 确认服务器~/.ssh/authorized_keys
文件中是否包含正确的公钥(权限需为600
);
④ 检查SSH配置是否禁止密码登录(/etc/ssh/sshd_config
中PasswordAuthentication no
时,只能密钥登录);
⑤ 确认用户是否存在且未被锁定(cat /etc/shadow
查看用户密码状态)。
Q2: 如何修改SSH默认端口增强安全性?
A: 修改SSH端口可避免被自动化扫描工具攻击,步骤如下:
① 编辑SSH配置文件:sudo vi /etc/ssh/sshd_config
;
② 找到Port 22
,取消注释并修改为自定义端口(如Port 2222
,端口范围建议1024-65535);
③ 保存文件后重启SSH服务:sudo systemctl restart sshd
;
④ 配置防火墙开放新端口(以firewalld为例):
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
⑤ 后续登录需使用新端口:ssh -p 2222 user@192.168.1.100
。
通过以上步骤,即可灵活配置Linux命令行登录,无论是本地管理还是远程运维,都能高效且安全地操作Linux系统。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/24301.html