centos

CentOS SFTP如何启用SSL

小樊
38
2025-04-06 16:23:04
栏目: 云计算

在CentOS上启用SFTP并使用SSL/TLS加密连接,可以按照以下步骤进行操作:

1. 安装OpenSSH服务器

首先,确保你的CentOS系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo yum install openssh-server

2. 配置OpenSSH服务器

编辑OpenSSH服务器的配置文件 /etc/ssh/sshd_config,以启用SFTP并配置SSL/TLS。

sudo vi /etc/ssh/sshd_config

在文件中找到或添加以下配置项:

# 启用SFTP子系统
Subsystem sftp /usr/libexec/openssh/sftp-server

# 启用SSL/TLS
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

# 强制使用SSL/TLS
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha2-256,hmac-sha2-512
KexAlgorithms diffie-hellman-group-exchange-sha256

确保你已经生成了SSH主机密钥。如果没有生成,可以使用以下命令生成:

sudo ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t dsa -b 1024 -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

3. 重启SSH服务

保存并关闭配置文件后,重启SSH服务以应用更改:

sudo systemctl restart sshd

4. 配置防火墙

确保防火墙允许SSH连接。如果你使用的是firewalld,可以添加以下规则:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

如果你使用的是iptables,可以添加以下规则:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo service iptables save

5. 测试SFTP连接

现在,你可以使用SFTP客户端连接到你的服务器,并验证SSL/TLS加密是否生效。例如,使用ssh命令连接到服务器:

ssh -o StrictHostKeyChecking=no user@your_server_ip

然后,启动SFTP会话:

sftp>

在SFTP会话中,你可以使用lscd等命令来浏览文件系统。

6. 验证SSL/TLS连接

你可以使用ssnetstat命令来验证SSH服务是否正在监听SSL/TLS端口(默认是22):

sudo ss -tuln | grep 22

或者:

sudo netstat -tuln | grep 22

如果看到类似以下的输出,说明SSH服务正在监听SSL/TLS端口:

tcp   0   0 0.0.0.0:22   0.0.0.0:*   LISTEN

通过以上步骤,你应该能够在CentOS上成功启用SFTP并使用SSL/TLS加密连接。

0
看了该问题的人还看了