3. ssh 命令
ssh 命令是 Linux/Unix 系统中用于安全远程登录和管理其他计算机的命令。
ssh 命令是基于 SSH(Secure Shell)协议开发的命令。它通过加密的通道实现安全的远程访问、文件传输和命令执行。
作用
- 远程连接到另一台 已运行 SSH 服务 的 Linux/UNIX 系统(如服务器)。
- 通过终端(Linux、UNIX 和 Windows 终端)在远程计算机上执行命令,对登录的计算机进行操作。
使用 ssh 管理的远程主机需要安装 ssh 服务。我们前面已经讲过,该服务是一个守护进程,用于远程使用 ssh 命令进行连接。
ssh 服务的安装方法:
weimingze@mzstudio:~$ sudo apt install openssh-server
需要确保你的 远程主机的 ssh 服务的处于运行状态,可以使用:
systemctl status ssh.service来确认运行状态。
ssh 常用的命令格式
ssh 用户名@远程IP地址或域名
如:此网站域名为 weimingze.com,用户名为 weimingze,使用ssh 登录命令如下:
weimz@wo-deMacBook-Pro ~ % ssh weimingze@weimingze.com
The authenticity of host '192.144.206.112 (192.144.206.112)' can't be established.
ECDSA key fingerprint is SHA256:LxVUHuBKH/Z5mi2gZMNNTT+UgEIhVm5g8VXIHzy93ls.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.144.206.112' (ECDSA) to the list of known hosts.
weimingze@weimingze.com's password:
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.11.0-26-generic x86_64)
...
weimingze@web-server:~$
第一次连接会确认 指纹 信息,输入
yes确认即可。此时出现远程主机的命令提示符:weimingze@web-server:~$。说明连接成功。
ssh 常用的选项和参数
选项/参数
说明
ssh user@hostname基本用法,以
user 身份登录 hostname 主机。-p <port>指定 SSH 端口(默认 22)。
-i <私钥文件>指定身份认证的私钥文件(默认用
~/.ssh/id_rsa)。-X启用 X11 转发(支持图形界面应用)。
-C压缩数据传输,提升慢速网络的效率。
-L <本地端口:目标主机:目标端口>本地端口转发(将本地端口映射到远程主机端口)。
-R <远程端口:本地主机:本地端口>远程端口转发(将远程端口映射到本地主机端口)。
-N不执行远程命令,仅用于端口转发。
-T不分配伪终端(适用于非交互式任务)。
-4强制使用 IPv4 地址
-6强制使用 IPv6 地址
-v / -vv / -vvv显示详细调试信息(用于排查连接问题)。
其他平台的 ssh 命令
ssh 命令是 Linux/UNIX 预装的命令,用法也基本一致,这里不在赘述。
Windows 操作系统也是由 ssh 命令的,你需要启动 PowerShell 才能使用他。虽然不如 Linux 原生的 ssh 好用,但也可以应急。
用法如下:
- 先启动 Windows 的终端 命令提示符
- 在命令提示符内输入
powershell进入 PowerShell。 - 使用
ssh 命令登录。
如下所示:
Microsoft Windows [版本 10.0.19045.5011]
(c) Microsoft Corporation。保留所有权利。
C:\Users\weimz>powershell
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
PS C:\Users\weimz> ssh weimingze@weimingze.com
The authenticity of host 'weimingze.com (192.144.206.112)' can't be established.
ED25519 key fingerprint is SHA256:3bMWotfoAuAMhs5ZQMBV1lwWlbPHe27lJamadg+Gdko.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'weimingze.com' (ED25519) to the list of known hosts.
weimingze@weimingze.com's password:
如下图所示:

练习:
- 使用
ip -br addr查看本 Linux 系统下的 IP 地址,如:a.b.c.d。 - 使用
systemctl status ssh.service查看ssh.service确保服务已经安装并运行。 - 打开另外一个终端2。 使用
ssh 用户名@a.b.c.d的格式连接自己的 Linux 电脑。 - 使用
who命令来查看目前有几个用户登陆这台电脑。 - 在终端2 键入
exit来退出远程登陆。 - 使用
who命令来查看目前有几个用户登陆这台电脑。