linux搭建sftp服务器

linux搭建sftp服务器

目录

一、sftp服务器介绍

二、安装步骤



一、sftp服务器介绍

在开发的过程中,一定避免不了向服务器上传下载文件的操作,我们可以用ftp进行文件上传,但是ftp传输数据是不安全的,很多时候我们都是选择sftp进行上传下载文件。

sftp相对于ftp在数据传输的过程中对数据进行了加密,当然这也是有代价的,就是损耗了数据传输的一些效率,以此来保证数据的安全性。

使用ftp需要进行安装,但是使用sftp就无需进行安装,sftp基于默认的22端口,是ssh内含的协议,只要启动了sshd就可以使用。


二、安装步骤

先看下整体的操作步骤,然后分步骤讲解:

2.1 创建sftp用户组,查看是否创建成功

groupadd sftp
cat /etc/group

2.2 创建sftp用户mysftp,加入到sftp组中,同时修改mysftp用户密码

useradd -g sftp -s /bin/false mysftp 
passwd mysftp

2.3 新建一个目录,指定为mysftp用户的主目录

mkdir -p /sftp/mysftp
usermod -d /sftp/mysftp mysftp

2.4 编辑配置文件:vim /etc/ssh/sshd_config

注释掉这行Subsystem      sftp    /usr/libexec/openssh/sftp-server

新增下面几行,位置要在UseDNS no之后,或者末尾,建议末尾最好。

# 注释掉下面这行
# Subsystem      sftp    /usr/libexec/openssh/sftp-server

# 新增下面几行,建议放在末尾,后者UseDNS no之后,否则会sshd启动会失败
Subsystem       sftp    internal-sftp   
Match Group sftp  
ChrootDirectory /sftp/%u    
ForceCommand    internal-sftp    
AllowTcpForwarding no   
X11Forwarding no 

2.5 设置目录权限:

#文件夹所有者必须为root,用户组可以不是root

#权限不能超过755,否则会导致登录报错,可以是755

chown root:sftp /sftp/mysftp  
chmod 755 /sftp/mysftp  

2.6 新建一个upload目录供mysftp用户上传文件,目录所有者为mysftp所有组为sftp,所有者有写入权限,所有组无写入权限

mkdir /sftp/mysftp/upload  
chown mysftp:sftp /sftp/mysftp/upload  
chmod 755 /sftp/mysftp/upload

2.7 关闭selinux并重启sshd服务


setenforce 0
service sshd restart

2.8 测试:

1.其它服务器进行验证

sftp -P 端口 用户名@主机ip 

2.懒得用其它服务器验证的,还可以用xftp这个工具进行验证。

 

 

如果全部成功,sftp服务器就算配置完成了。

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
搭建LinuxSFTP(Secure File Transfer Protocol)服务器需要以下步骤: 1. 安装OpenSSH服务器:首先要确保在Linux系统上安装了OpenSSH服务器。可以使用以下命令进行安装: ``` sudo apt-get install openssh-server ``` 2. 创建SFTP用户:使用以下命令创建一个新的用户,并将其用户根目录设置为SFTP目录: ``` sudo adduser sftp_user sudo usermod -d /sftp_folder sftp_user ``` 3. 配置OpenSSH服务器:编辑OpenSSH服务器的配置文件。可以使用以下命令打开配置文件: ``` sudo nano /etc/ssh/sshd_config ``` 在文件中找到以下行并取消注释(删除行首的#符号),并进行相应的修改: ``` Subsystem sftp internal-sftp Match User sftp_user ForceCommand internal-sftp ChrootDirectory /sftp_folder PermitTunnel no AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no ``` 4. 重启OpenSSH服务器:完成配置后,使用以下命令重启OpenSSH服务器以应用更改: ``` sudo systemctl restart sshd ``` 5. 生成RSA密钥对(可选):可以为SFTP服务器生成RSA密钥对,以增强安全性。使用以下命令生成密钥对: ``` ssh-keygen -t rsa ``` 6. 配置SFTP用户的公钥:将生成的公钥(id_rsa.pub)复制到SFTP用户主目录的.ssh文件夹中,并将其重命名为authorized_keys: ``` sudo mkdir /sftp_folder/sftp_user/.ssh sudo cp id_rsa.pub /sftp_folder/sftp_user/.ssh/authorized_keys sudo chown sftp_user:sftp_user /sftp_folder/sftp_user/.ssh/authorized_keys ``` 确保.ssh文件夹和authorized_keys文件的权限正确设置: ``` sudo chmod 700 /sftp_folder/sftp_user/.ssh sudo chmod 600 /sftp_folder/sftp_user/.ssh/authorized_keys ``` 7. 完成:现在,您已经成功搭建了一个具有公私钥认证的SFTP服务器。可以使用SFTP客户端连接到该服务器并进行文件传输了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值