菜鸟科技网

Linux远程登录命令有哪些?

Linux 远程登录是系统管理和服务器运维中的基本操作,通过命令行工具可以高效地管理远程主机,常用的远程登录命令包括 SSH、Telnet、Rlogin 等,SSH(Secure Shell)因加密传输和安全性成为主流选择,以下将详细介绍这些命令的使用方法、配置选项及注意事项。

Linux远程登录命令有哪些?-图1
(图片来源网络,侵删)

SSH 远程登录命令

SSH 是目前最安全的远程登录协议,默认通过 22 端口通信,支持加密认证和数据传输,基本语法为 ssh [用户名]@[主机地址]ssh root@192.168.1.100,首次登录时,系统会提示保存远程主机的密钥指纹(需确认是否可信),输入 yes 后继续,随后输入目标用户的密码即可登录。

常用参数

  • -p 端口号:指定非默认端口,如 ssh -p 2222 user@192.168.1.100
  • -i 密钥文件:使用密钥对认证,避免输入密码,如 ssh -i ~/.ssh/id_rsa user@host
  • -v:详细模式,显示调试信息,用于排查连接问题。
  • -N:不执行远程命令,仅用于端口转发。
  • -L 本地端口:目标主机:目标端口:本地端口转发,将本地端口流量通过 SSH 隧道转发到远程主机。
  • -R 远程端口:本地主机:本地端口:远程端口转发,将远程端口的请求转发到本地服务。

密钥对认证

为提升安全性,建议使用 SSH 密钥对替代密码认证,通过 ssh-keygen 命令生成密钥(默认存放在 ~/.ssh/ 目录),再将公钥(id_rsa.pub)复制到远程主机的 ~/.ssh/authorized_keys 文件中,可使用 ssh-copy-id user@host 自动完成公钥传输,之后即可免密登录。

SSH 配置文件

~/.ssh/config 文件中可配置主机别名,简化登录命令。

Host server1
    HostName 192.168.1.100
    User admin
    Port 2222
    IdentityFile ~/.ssh/server1_key

之后通过 ssh server1 即可快速连接。

Linux远程登录命令有哪些?-图2
(图片来源网络,侵删)

其他远程登录命令

Telnet

Telnet 是早期的远程登录工具,通信过程未加密,存在安全风险,现已较少使用,基本命令为 telnet [主机地址] [端口号],如 telnet 192.168.1.100 23,仅建议在调试网络服务时临时使用。

Rlogin

Rlogin(Remote Login)是 Unix 系统的远程登录工具,依赖 .rhosts 文件进行认证,安全性较低,已被 SSH 替代,命令格式为 rlogin [用户名]@[主机地址]

远程登录后的常用操作

登录远程主机后,可通过命令行执行系统管理任务,

  • 文件传输:scp(通过 SSH 传输文件)、rsync(增量同步)。
  • 进程管理:pstopkill
  • 网络诊断:pingnetstatss
  • 日志查看:tail -f /var/log/syslog

安全注意事项

  1. 禁用 root 直接登录:修改 SSH 配置文件 /etc/ssh/sshd_config,设置 PermitRootLogin no,并重启 SSH 服务。
  2. 更改默认端口:将 Port 22 修改为其他高位端口(如 2222),减少自动化攻击风险。
  3. 使用防火墙限制访问:通过 iptablesfirewalld 仅允许特定 IP 访问 SSH 端口。
  4. 定期更新 SSH 服务:保持 opensshdropbear 等软件包为最新版本。

远程登录命令对比

命令 加密 端口 认证方式 安全性 适用场景
SSH 22 密码/密钥 生产服务器、日常运维
Telnet 23 密码 调试、内网临时访问
Rlogin 513 .rhosts 旧版 Unix 系统兼容

相关问答FAQs

Q1: SSH 连接失败提示 "Permission denied (publickey,password)" 如何解决?
A1: 该错误通常由认证问题引起,首先检查远程主机的 ~/.ssh/authorized_keys 文件权限是否为 600,所属用户是否正确;其次确认本地私钥文件权限是否为 600;最后验证公钥是否正确添加到远程主机,或尝试使用 -v 参数查看详细错误信息。

Linux远程登录命令有哪些?-图3
(图片来源网络,侵删)

Q2: 如何通过 SSH 实现文件传输?
A2: 可使用 scp 命令传输文件,

  • 上传本地文件到远程:scp /path/to/local.txt user@remote:/path/to/remote/
  • 下载远程文件到本地:scp user@remote:/path/to/remote.txt /path/to/local/
    若需批量传输或增量同步,可使用 rsync,如 rsync -avz /local/ user@remote:/remote/
分享:
扫描分享到社交APP
上一篇
下一篇