
一、简介
ssh命令主要用于通过SSH协议连接到远程主机,以实现登录远程主机和执行相关的命令,连接过程中它会加密传输会话中的所有通信,确保数据传输的安全。
SSH(Secure Shell)是用于登录远程主机和其它网络服务之间的一种加密协议,它提供了一个相对安全的通信通道,并保护数据的安全性和完整性。
二、语法
语法:ssh [参数] [user@]hostname [command]
参数说明:
[user@]hostname:代表的是要连接的远程主机的用户和主机名称
[command]:在远程主机上执行相关的命令
常用参数说明:
-l user:指定要登录的用户。
-p port:指定连接到远程主机的端口号,默认是22。
-i identity_file:指定身份验证文件(私钥文件)。
-v:详细模式,可以显示调试信息。
-C:启用压缩。
-N:不执行远程命令,只进行端口转发。
-f:后台运行。
三、实战
1、连接远程主机
[root@CentOS7 ~]# ssh 192.168.20.10
The authenticity of host '192.168.20.10 (192.168.20.10)' can't be established.
ECDSA key fingerprint is SHA256:iycJGJEtNX4Z/AtMLNXDS/xs6SCkVMPzoMBw2Ela8i8.
ECDSA key fingerprint is MD5:42:0b:84:38:ff:4f:be:fd:a2:6b:d9:36:3b:19:49:6e.
Are you sure you want to continueconnecting(yes/no)? yes
Warning: Permanently added '192.168.20.10' (ECDSA) to the list of known hosts.
root@192.168.20.10's password: //此处需要输入连接远程主机的用户名密码
Last login: Tue Feb 3 12:24:08 2026 from 192.168.20.2
连接主机时,可以加上用户进行连接,如:root@192.168.20.10,也可以不加,如果不加的话,默认会以当前登录用户进行远程连接。
2、指定用户连接
[root@CentOS7 ~]# ssh -l root 192.168.20.10
//或用下方操作指定用户
[root@CentOS7 ~]# ssh root@192.168.20.10
3、指定端口连接
[root@CentOS7 ~]# ssh -p 2222 root@192.168.20.10
如果要指定端口连接远程主机,远程主机需要启动该端口,否则无法连接。
4、在远程主机上执行相关命令
[root@CentOS7 ~]# ssh root@192.168.20.10 "free"
root@192.168.20.10's password:
total used free shared buff/cache available
Mem: 1877572 323880 1178832 13088 374860 1367976
Swap: 4194300 0 4194300
5、使用用户验证文件连接
[root@CentOS7 ~]# ssh -i ~/.ssh/id_rsa 192.168.20.10
如果使用该方式进行连接的话,需要提前设置好用户验证的文件(id_rsa),这样连接的好处之一就是不需要每次连接远程主机时,输入用户密码了。因为远程主机已经设置好了用户私钥的认证。
6、使用详细模式连接
[root@CentOS7 ~]# ssh -v root@192.168.20.10
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to 192.168.20.10 [192.168.20.10] port 22.
debug1: Connection established.
********************省略部分内容输出********************
使用这种方式连接远程主机,是以debug的模式在连接,它会输出你操作的任何过程,一般用以调试时使用。
以上是ssh在日常工作时,最常用的操作,它还有一些高级的操作,比如:本地端口转发连接、远程端口转发连接和使用配置文件连接等。它们的语法分别如下:
本地端口转发连接:
ssh -L [本地IP:]本地端口:目标主机:目标端口 用户名@SSH服务器IP[当前主机用户名和ip]
远程端口转发连接:
ssh -L [远程IP:]远程端口:目标主机:目标端口 用户名@SSH服务器IP[当前主机用户名和ip]
使用配置文件连接:
配置文件内容放在~/.ssh/config中,内容如下:
Host example
HostName 192.168.20.10
User tom
Port 1234
如果使用用户私钥连接,添加以下内容:
IdentityFile ~/.ssh/id_rsa
连接时使用:ssh example
评论 (0)
还没有评论,快来抢沙发吧!