您的位置:

Linux配置SSH详细教程

一、Linux配置SSH服务

SSH(Secure Shell)是一种加密网络协议,可用于安全地传输文本和其他文件。Linux系统自带OpenSSH,可以通过简单的配置使其成为SSH服务。

1、首先需安装OpenSSH,执行下列命令:

$ sudo apt-get install openssh-server

2、配置ssh服务,运行以下命令修改SSH配置文件:

$ sudo vim /etc/ssh/sshd_config

找到以下两行代码:

#Port 22
#PermitRootLogin prohibit-password

第一行代码表示SSH服务的端口号,默认为22;第二行代码表示是否允许使用root用户进行SSH连接,因为root用户有系统的最高权限,为了安全起见,可以限制禁用root用户SSH登录。我们可以取消这两行代码的注释并修改端口号和root登录方式,例如:

Port 2200 #更改SSH服务端口为2200,而非22
PermitRootLogin no #禁用root用户SSH登录

3、重启SSH服务

$ sudo service ssh restart

二、Linux配置SSH互信免密登录

SSH互信就是为了让两台Linux计算机之间的SSH连接不需要输入密码而设置的。通过此功能可以方便地在不同的主机之间传输文件、进行远程操作。以下是具体步骤:

1、在本机生成公私钥

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -q -P ""

2、将公钥复制到需要互信的主机上

$ ssh-copy-id username@ip_address

其中username为目标主机上的登录用户名,ip_address为目标主机的IP地址。

3、互信成功后在本机进行SSH连接时将不需要输入密码。

三、Linux配置SSH端口

为了增强服务器安全性,可以修改SSH默认端口22为其他端口。以下是具体步骤:

1、修改SSH配置文件,执行下列命令:

$ sudo vim /etc/ssh/sshd_config

找到以下行代码:

#Port 22

取消注释并将22改为其他端口号,例如:

Port 2200

2、重启SSH服务,执行下列命令:

$ sudo service ssh restart

四、Linux配置SSH远程连接

在其他计算机上连接此ssh服务器需要使用SSH客户端工具。常见的有PuTTY和OpenSSH。以下是具体步骤:

1、在Windows操作系统上使用PuTTY连接SSH服务器。

2、在Linux或Unix系统中使用OpenSSH,需要在终端中输入下列命令:

$ ssh username@ip_address

其中,username为服务器上的登录用户名,ip_address为服务器的IP地址。

五、Linux配置SSH服务器

1、为了让SSH服务在系统启动时自动启动,执行下列命令:

$ sudo systemctl enable sshd

2、查看SSH服务状态,执行下列命令:

$ systemctl status sshd.service

3、关闭SSH服务,执行下列命令:

$ sudo systemctl stop sshd

六、Linux配置SSH服务的案例

以Ubuntu 18.04 LTS操作系统为例,进行具体操作步骤:

1、安装SSH服务

$ sudo apt-get install openssh-server

2、修改SSH默认端口22为其他端口号,例如2200

$ sudo vim /etc/ssh/sshd_config

取消以下行代码的注释:

Port 2200

3、重启SSH服务

$ sudo service ssh restart

七、Linux配置SSH公钥

1、通过下列命令生成SSH密钥:

$ ssh-keygen -t rsa -b 4096 -C "comment"

2、将公钥添加到目标计算机

$ ssh-copy-id username@ip_address

3、通过下列命令验证SSH公钥:

$ ssh -i ~/.ssh/<私钥文件名> username@ip_address

八、Linux配置SSH证书信任

SSH证书信任是在SSH互信基础上的一种更加高级的互联网传输技术。以下是具体步骤:

1、首先在客户端和服务器上各生成一个公私钥

$ ssh-keygen -t rsa -f ~/.ssh/<证书文件名> -q -P ""

2、将客户端公钥复制到服务器

$ ssh-copy-id -i ~/.ssh/<证书文件名>.pub username@ip_address

3、将客户端私钥复制到客户端的~/.ssh/目录下并设置私钥的权限为600

$ chmod 600 ~/.ssh/<证书文件名>

4、在客户端SSH配置文件中添加PublicKeyAuthentication和IdentityFile两行参数,例如:

Host 192.168.0.100 #服务器IP
    User root #登录的用户名
    Port 22 #SSH端口号
    Protocol 2
    PublicKeyAuthentication yes #打开SSH证书信任
    IdentityFile ~/.ssh/<证书文件名> #客户端私钥路径

5、重启SSH服务

$ sudo service ssh restart

九、Linux配置SSH密钥认证

SSH密钥认证是一种高效、安全的SSH连接方法。以下是具体步骤:

1、在客户端生成公私钥

$ ssh-keygen -t rsa -b 2048

2、将公钥上传到服务器。使用命令:

$ ssh-copy-id user@server_ip

3、配置SSH配置文件,添加如下内容:

IdentityFile ~/.ssh/id_rsa #客户端私钥的路径

4、重启SSH服务

$ sudo systemctl restart ssh

这样,以后登录服务器就无需输入密码了。