Linux centos7 安装sftp

在 CentOS 7 上安装 SFTP 并使用自定义端口 22345 启动,同时不影响现有的 SSH 登录,可以按照以下步骤进行配置:

步骤 1: 安装 OpenSSH
确保 OpenSSH 已经安装。如果未安装,可以使用以下命令来安装:

bash

复制
sudo yum install -y openssh-server
步骤 2: 编辑 SSH 配置文件
编辑 SSH 配置文件 /etc/ssh/sshd_config,添加或修改以下配置:

bash

复制
sudo vi /etc/ssh/sshd_config
在文件中添加以下内容以配置 SFTP 使用自定义端口 22345:

bash

复制

指定 SSH 默认端口 (通常是22)

Port 22

添加自定义端口

Port 22345

确保 SFTP 子系统配置存在

Subsystem sftp /usr/libexec/openssh/sftp-server

匹配自定义端口的配置

Match LocalPort 22345
ForceCommand internal-sftp
ChrootDirectory %h
AllowTcpForwarding no
X11Forwarding no
步骤 3: 配置防火墙
确保防火墙允许新的自定义端口 22345。使用 firewalld 进行配置:

bash

复制
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-port=22345/tcp
sudo firewall-cmd --reload
步骤 4: 重启 SSH 服务
重启 SSH 服务以应用配置更改:

bash

复制
sudo systemctl restart sshd
验证配置
验证 SSH 登录:
你可以使用默认的端口 22 登录 SSH,以确保 SSH 未受影响:
bash

复制
ssh username@your_server_ip
验证 SFTP 登录:
使用自定义端口 22345 进行 SFTP 登录:
bash

复制
sftp -P 22345 username@your_server_ip
备注
ChrootDirectory %h 将用户的家目录作为 SFTP 根目录。如果需要更改,请根据需要修改。
ForceCommand internal-sftp 确保用户通过 SFTP 访问服务器,而不会获得 shell 访问权限。
如果遇到权限问题,请确保用户的家目录和父目录的所有者为 root,并且目录的权限为 755。
检查配置
为了确保配置正确,可以检查以下内容:

检查 SSH 服务状态
bash

复制
sudo systemctl status sshd
检查 SSH 配置文件语法
bash

复制
sudo sshd -t
用户目录权限配置
对于使用 ChrootDirectory 的用户,确保用户的家目录和上级目录权限配置正确:

bash

复制
sudo chown root:root /home/username
sudo chmod 755 /home/username
创建一个子目录并赋予用户权限,用于存放实际数据:

bash

复制
sudo mkdir /home/username/data
sudo chown username:username /home/username/data
通过这些步骤,你可以成功配置 SFTP 使用自定义端口 22345,同时保持 SSH 登录功能不受影响。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值