匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

如何在Linux中使用SSH连接到远程服务器

如何在Linux中使用SSH连接到远程服务器

SSH (Secure Shell) 是一种安全加密协议,它提供加密的通信通道,可以在网络上安全地传输数据。在Linux中,我们可以使用SSH连接到远程服务器,并进行远程管理。

本文将向您介绍如何在Linux中使用SSH连接到远程服务器。我们将涵盖以下内容:

1. 安装SSH客户端
2. 连接到远程服务器
3. 密码认证和密钥认证
4. 将SSH端口从22更改为其他端口

安装SSH客户端

在大多数Linux发行版中,SSH客户端已经预装了。如果你的系统没有预装SSH客户端,你可以使用以下命令进行安装:

```
sudo apt-get install openssh-client   # Ubuntu/Debian
sudo yum install openssh-client       # CentOS/Fedora
```

连接到远程服务器

语法:

```
ssh [username]@[server_address_or_IP]
```

其中,username是远程服务器上的用户名,而server_address_or_IP是远程服务器的IP地址或域名。

例如,连接到IP地址为123.456.789.0的远程服务器,用户名为root,命令如下:

```
ssh root@123.456.789.0
```

在连接远程服务器之前,请确保您已经获取了正确的用户名和密码或密钥文件。

密码认证和密钥认证

当你第一次使用SSH连接到远程服务器时,你会被要求输入远程服务器的密码。为了更安全地连接到远程服务器,我们可以使用密钥认证,而不是密码认证。

密钥认证的原理是:在本地生成一对公钥和私钥。在将公钥发送到远程服务器之前,我们可以将私钥保存在本地。当我们SSH连接到远程服务器时,SSH客户端会使用私钥生成一个数字签名,然后将签名发送到远程服务器。远程服务器会检查该签名是否与之前保存的公钥匹配。如果匹配,远程服务器将允许我们登录。

使用以下命令在本地生成公钥和私钥:

```
ssh-keygen
```

在生成密钥对时,您可以选择是否设置密码保护私钥。如果您选择设置密码,请确保您已妥善保管好私钥和密码。

生成密钥对后,将公钥发送到远程服务器。您可以通过以下命令将公钥复制到远程服务器:

```
ssh-copy-id [username]@[server_address_or_IP]
```

将SSH端口从22更改为其他端口

默认情况下,SSH使用22端口。这使得SSH服务器成为攻击者的主要目标。为了增加安全性,我们可以更改SSH端口,并将其设置为不使用常见端口,如80和443。以下是更改SSH端口的步骤。

打开SSH配置文件:

```
sudo nano /etc/ssh/sshd_config
```

在文件中找到以下行:

```
# Port 22
```

将其更改为:

```
Port [new_port_number]
```

例如,将SSH端口更改为2222:

```
Port 2222
```

保存配置文件并重新启动SSH服务:

```
sudo service ssh restart
```

现在,在连接到远程服务器时,您需要指定新的SSH端口号:

```
ssh [username]@[server_address_or_IP] -p [new_port_number]
```

例如,将SSH端口更改为2222,连接到IP地址为123.456.789.0的远程服务器,用户名为root,命令如下:

```
ssh root@123.456.789.0 -p 2222
```

这就是在Linux中使用SSH连接到远程服务器的基本知识。通过密钥认证和更改SSH端口,您可以加强SSH连接的安全性。