一、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
这样,以后登录服务器就无需输入密码了。