您的位置:

SSH配置详解

一、SSH介绍

SSH(Secure Shell)是一种加密的网络协议,可以在不安全的网络中为网络服务提供安全的传输环境。

SSH可以用于远程登录、文件传输、执行远程命令等操作,是一个非常实用的工具。

下面我们将从SSH的安装、配置以及使用三个方面进行详细讲解。

二、SSH安装

SSH的安装分为服务端和客户端两部分。

1.服务端安装

在Ubuntu系统下,可以通过以下命令安装SSH服务端:

sudo apt-get update
sudo apt-get install openssh-server

安装完成后,SSH服务端就已经成功运行在服务器上了。

2.客户端安装

SSH客户端可以通过PuTTY、Xshell等软件进行安装,也可以通过以下命令在Ubuntu系统下进行安装:

sudo apt-get update
sudo apt-get install openssh-client

三、SSH配置

1.配置文件介绍

SSH服务端的配置文件位于/etc/ssh/sshd_config,客户端的配置文件位于~/.ssh/config。

下面我们将分别对两个配置文件进行详细介绍。

2.服务端配置

(1)修改默认端口号

默认情况下,SSH服务运行在22端口,为了增强安全性,我们可以修改默认端口号。

在/etc/ssh/sshd_config文件中,找到Port 22这一行,将22改为其他的端口号即可。

(2)禁用root登录

root用户是操作系统的最高权限用户,为了避免安全风险,我们可以禁止root用户通过SSH登录服务器。

在/etc/ssh/sshd_config文件中,找到PermitRootLogin yes这一行,将yes改为no即可。

(3)禁用密码登录

为了增加安全性,我们可以禁止使用密码登录SSH,而改用密钥登录。

在/etc/ssh/sshd_config文件中,找到PasswordAuthentication yes这一行,将yes改为no即可。

3.客户端配置

(1)配置别名

为了方便记忆,我们可以给SSH连接配置一个别名,之后就可以直接使用别名来连接SSH。

在~/.ssh/config文件中,添加以下代码:

Host 别名
    HostName IP或域名
    Port 端口号
    User 用户名

(2)配置密钥登录

密钥登录可以避免每次 SSH 登录都需要输入密码。

在本地计算机中,使用以下命令生成公钥和私钥:

ssh-keygen -t rsa

生成的公钥和私钥分别保存在 ~/.ssh/id_rsa.pub 和 ~/.ssh/id_rsa 文件中。

将生成的公钥上传到服务器上,在服务器上的~/.ssh/authorized_keys中添加公钥。

在本地计算机中,使用以下命令连接SSH即可:

ssh 用户名@IP或域名 -p 端口号 -i ~/.ssh/id_rsa

四、SSH使用

1.连接SSH

在命令行中使用以下命令连接SSH:

ssh 用户名@IP或域名 -p 端口号

2.文件传输

使用SCP命令可以实现文件传输。

将本地文件传输到服务器:

scp 本地文件路径 用户名@IP或域名:服务器文件路径

将服务器文件传输到本地:

scp 用户名@IP或域名:服务器文件路径 本地文件路径

3.执行远程命令

在命令行中使用以下命令,可以在远程服务器上执行命令并输出结果:

ssh 用户名@IP或域名 -p 端口号 "要执行的命令"

总结

SSH是一个非常实用的工具,可以帮助我们远程登录、文件传输、执行远程命令等操作。

通常情况下,我们需要修改SSH的默认端口号、禁用root登录、禁用密码登录等来增加安全性。

同时,我们可以使用别名和密钥登录来方便地连接SSH。