ssh命令的功能是安全地远程连接服务器主机系统,作为OpenSSH套件中的客户端连接工具,ssh命令可以让我们轻松地基于SSH加密协议进行远程主机访问,从而实现对远程服务器的管理工‍作。

语法格式:ssh 参数 域名或IP地址

常用参数:

-1使用SSH协议版本1  -i设置密钥文件
-2使用SSH协议版本2 -l设置登录用户名
-4基于IPv4网络协议 -N不执行远程指令
-6基于IPv6网络协议 -o设置配置参数选项
-a关闭认证代理连接转发功能 -p设置远程服务器上的端口号
-A开启认证代理连接转发功能 -q静默执行模式
-b设置本机对外提供服务的IP地址 -s请求远程主机上的子系统调用
-c设置会话的密码算法 -v显示执行过程详细信息
-C压缩所有数据 -V显示版本信息
-f后台执行ssh命令 -x关闭X11转发功能
-F设置配置文件 -X开启X11转发功能
-g允许远程主机连接本机的转发端口 -y信任X11转发功能

参考示例

基于SSH协议,远程访问服务器主机系统:

[root@linuxcool ~]# ssh 192.168.10.10 
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established. 
ECDSA key fingerprint is SHA256:ZEjdfRjQV8pVVfu0TSYvDP5UvOHuuogMQSDUgLPG3Kc. 
Are you sure you want to continue connecting (yes/no)? yes 

Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts. 
root@192.168.10.10's password: 此处输入远程服务器管理员密码 
Activate the web console with: systemctl enable --now cockpit.socket 

Last login: Tue Dec 14 08:49:08 2023 
[root@linuxprobe ~]# 

使用指定的用户身份登录远程服务器主机系统:

[root@linuxcool ~]# ssh -l linuxprobe 192.168.10.10 
linuxprobe@192.168.10.10's password: 此处输入指定用户的密码 
Activate the web console with: systemctl enable --now cockpit.socket 
[linuxprobe@linuxprobe ~]$

登录远程服务器主机系统后执行一条命令:

[root@linuxcool ~]# ssh 192.168.10.10 "free -m" 
root@192.168.10.10's password: 此处输入远程服务器管理员密码 
			total 		used 	free 	shared  buff/cache  available 
Mem: 		 1966 		1359 	  76    	    21          530         407 
Swap: 		 2047 		   9   	2038 

强制使用v1版本的SSH加密协议连接远程服务器主机:

[root@linuxcool ~]# ssh -1 192.168.10.10
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。