新闻资讯

远程登录的命令有哪些

2025-09-4

在网络管理和运维工作中,远程登录服务器是一项常见且基础的操作。通过远程登录,管理员能够在本地设备上操控远程服务器,执行各类管理任务,无需亲临服务器机房。不同操作系统和网络环境下,存在多种远程登录命令,它们各有特点和适用场景。以下为您详细介绍常见的远程登录命令。

SSH(SecureShell)命令

SSH是目前最为广泛使用的远程登录协议,对应命令为ssh,其以安全性著称。它采用加密技术,在传输过程中对数据进行加密处理,有效防止数据被窃取或篡改,为数据传输保驾护航。在Linux、macOS系统中,默认已安装OpenSSH客户端,Windows系统也可通过多种方式安装SSH客户端,如在Windows10及以上系统的“设置”-“应用”-“应用和功能”-“可选功能”中安装OpenSSH客户端,或通过安装GitforWindows获取集成SSH命令的GitBash环境,还可通过安装WindowsSubsystemforLinux(WSL)获得包含SSH客户端的完整Linux环境。

基本连接语法

使用ssh命令进行远程登录的基本格式为sshusername@server_address,其中username为服务器上的用户名,server_address是服务器的IP地址或域名。例如,若要以ubuntu用户登录到IP地址为192.168.1.100的服务器,应执行sshubuntu@192.168.1.100。当服务器使用非默认的SSH端口(默认端口为22)时,需在命令中指定端口号,格式为ssh-pport_numberusername@server_address。例如,若服务器的SSH端口为2222,连接命令则为ssh-p2222ubuntu@192.168.1.100。

首次连接

首次连接到一台服务器时,系统会提示服务器的指纹信息,并询问是否继续连接,这是SSH为防止中间人攻击设置的安全机制。如提示:
Theauthenticityofhost'192.168.1.100(192.168.1.100)'can'tbeestablished.
ED25519keyfingerprintisSHA256:xxxxxxxxx.
Thiskeyisnotknownbyanyothernames
Areyousureyouwanttocontinueconnecting(yes/no/[fingerprint])?
此时,需仔细核对服务器的指纹信息(可与服务器管理员确认),若确认无误,输入yes并回车,系统会将服务器的公钥添加到本地的known_hosts文件中,之后再次连接时将不再提示此信息。

密码验证与密钥验证

-密码验证:输入yes后,系统提示输入用户密码,输入过程中密码不会显示在屏幕上,输入完成回车,若密码正确即可成功登录服务器。
-SSH密钥验证:为提升安全性和便利性,可使用SSH密钥验证登录。在本地终端运行ssh-keygen命令生成SSH密钥对,过程中可选择密钥保存路径并设置密码(可留空)。生成后,需将公钥(id_rsa.pub文件)内容添加到服务器的authorized_keys文件中,可通过ssh-copy-idusername@server_address命令自动完成,也可手动在本地查看公钥内容(cat~/.ssh/id_rsa.pub)并复制,登录服务器后,在~/.ssh/authorized_keys文件(若目录不存在,需先创建,使用mkdir-p~/.ssh命令)中粘贴公钥内容。注意,~/.ssh目录权限应为700,authorized_keys文件权限应为600或644。完成公钥上传后,再次连接服务器时,系统尝试使用密钥验证,若密钥匹配,无需输入密码即可登录。若密钥保存在非默认路径,连接时需使用-i参数指定密钥文件路径,如ssh-i/path/to/your/id_rsausername@server_address。

其他功能

-远程执行命令:在ssh连接基础上,可在远程服务器上执行命令。如执行单个命令,格式为sshuser@remote_host"command",例如sshroot@192.168.1.100"ls-lah",会在192.168.1.100服务器上以root用户身份执行ls-lah命令并返回结果;执行多个命令时,可使用sshuser@remote_host"command1&&command2"格式,如sshuser@remote_host"cd/var/www&&ls-lah",先切换到/var/www目录,再执行ls-lah命令,也可使用“<<EOF”运行多行命令,如:
sshuser@remote_host<<EOF
cd/var/log
ls-lah
exit
EOF
-端口转发:包括本地端口转发和远程端口转发。本地端口转发(访问远程服务)格式为ssh-Llocal_port:localhost:remote_portuser@remote_host,例如ssh-L8080:localhost:3306user@remote_host,将本地8080端口映射到远程MySQL的3306端口,本地访问127.0.0.1:8080相当于访问远程3306端口;远程端口转发(让远程访问本地服务)格式为ssh-Rremote_port:localhost:local_portuser@remote_host,如ssh-R9000:localhost:80user@remote_host,使远程9000端口可访问本地80端口,适用于让公网服务器访问内网服务。
-代理与跳板机:使用ssh-Dlocal_portuser@remote_host可在本地创建SOCKS5代理,如ssh-D1080user@remote_host在本地1080端口创建代理,可用于浏览器代理或proxychains;通过跳板机连接时,使用ssh-Jjump_hostuser@target_host,先通过jump_host(跳板机)登录,再连接target_host,等效于sshuser@jump_hostsshuser@target_host。

Telnet命令

Telnet曾经也是常用的远程登录命令,用于基于TELNET协议的远程登录客户端程序。不过,由于其采用明文传送报文,数据传输过程中不进行加密,安全性较差,易被攻击者截获用户名、密码等敏感信息,目前很多Linux服务器已不再开放Telnet服务,转而使用更安全的SSH方式。但在一些老旧系统或特定场景中,Telnet仍可能被使用。

基本语法

命令格式为telnet(参数)(主机),功能是执行telnet指令开启终端机阶段作业,并登入远端主机。常用参数包括:
-a:尝试自动登入远端系统。
-b<主机别名>:使用别名指定远端主机名称。
-l<用户名称>:指定要登入远端主机的用户名称。
-n<记录文件>:指定文件记录相关信息。

示例

例如,进行正常telnet连接,可执行telnet192.168.120.204。一般情况下,部分系统不允许root用户从远程直接使用Telnet登录,可先用普通账号登录,再使用su-切换到root用户。在使用Telnet确定远程服务器的某个端口是否能访问时,可执行telnetremote_server_ipport_number,如telnet192.168.1.10080,尝试连接IP为192.168.1.100的服务器的80端口,若能连接,说明该端口开放,否则可能端口未开放或存在网络限制。

Rlogin命令

Rlogin命令用于从当前终端登录到远程Linux主机,在早期的UNIX和Linux系统环境中较为常用,但同样因其安全性问题,在如今注重网络安全的环境下使用频率逐渐降低。

格式与语法

格式为rloginRemoteHost(-eCharacter)(-8)(-lUser)(-f|-F)(-krealm),语法为rlogin(选项)(参数)。常见选项如下:
-8:允许输入8位字符数据。
-e<脱离字符>:设置脱离字符。
-E:滤除脱离字符。
-l<用户名称>:指定要登入远端主机的用户名称。
-L:使用litout模式进行远端登入阶段操作。

操作示例

要显示rlogin服务是否开启,可在Linux系统中执行chkconfig--list来检测;若要开启rlogin服务,使用chkconfigrloginon命令。登录远程主机时,使用rlogin192.168.1.88,之后系统提示输入密码进行登录;若要指定用户名登录远程主机,可执行rlogin192.168.1.88-lhnlinux,其中hnlinux为指定的用户名。
除了上述直接用于远程登录的命令外,还有一些工具和命令在特定场景下可辅助实现远程登录或相关功能。例如,在Windows系统中,PuTTY是一款常用的SSH和Telnet客户端工具,它提供图形化界面,方便用户进行远程连接配置和操作。用户在PuTTY中输入远程服务器的IP地址、端口号、用户名等信息,选择连接类型(SSH或Telnet),即可进行连接。Xshell也是一款功能强大的Windows下的SSH客户端软件,支持多标签会话、文件传输等功能,用户可通过它方便地管理多个远程连接。在文件传输方面,SCP(SecureCopyProtocol)基于SSH协议,可用于在本地系统和远程服务器之间安全地传输文件,命令格式如scplocal_fileusername@remote_host:remote_location(本地到远程)和scpusername@remote_host:remote_filelocal_location(远程到本地);SFTP(SSHFileTransferProtocol)同样基于SSH协议,提供对远程文件系统的完整访问,使用sftpusername@remote_host可建立SFTP会话,在会话中可使用get、put、ls、cd等命令进行文件和目录操作。
在选择远程登录命令和工具时,需充分考虑安全性、便捷性以及目标服务器的环境等因素。对于安全性要求较高的场景,应优先选择SSH协议及相关工具;在一些对安全性要求相对较低或特定的老旧系统环境中,Telnet或Rlogin等命令可能仍有其用武之地。熟练掌握这些远程登录命令和工具,有助于网络管理员高效地管理和维护远程服务器,保障网络系统的稳定运行。
图片alt


拓展阅读

1、如何加强SSH连接的安全性?:除了使用密钥验证替代密码验证外,可修改SSH服务器默认端口,避免被恶意扫描;限制允许登录的用户或用户组,在/etc/ssh/sshd_config文件中配置AllowUsers或AllowGroups选项;启用TCP连接限制,防止暴力破解,可通过设置MaxAuthTries参数限制登录尝试次数等。
2、Telnet命令在Windows和Linux系统中的使用有何区别?:在命令语法上基本一致,但在Windows系统中,Telnet功能可能未默认安装,需在“程序和功能”-“启用或关闭Windows功能”中勾选“Telnet客户端”进行安装;而Linux系统中通常默认安装,但部分系统可能默认未开启服务,需使用相应命令(如systemctlstarttelnet.socket,不同发行版命令可能有差异)启动服务后才可使用。
3、在使用Rlogin命令时遇到权限问题该如何解决?:首先确认输入的用户名和密码是否正确,若无误,可能是用户权限不足。联系服务器管理员,检查用户是否属于允许rlogin登录的组,在一些系统中,可能需将用户添加到rusers组等相关组中以获取登录权限;同时检查服务器的/etc/hosts.equiv和~/.rhosts文件配置是否正确,这些文件用于控制哪些主机和用户可通过rlogin登录。

上一篇: 在外网怎么访问ftp服务器 下一篇:
新闻资讯
热门专题
最新专题
友情链接