linux搭建SFTP服务

原创
2019/09/11 11:36
阅读数 3K

SFTP采用的是ssh加密隧道,安装性方面较FTP强,而且依赖的是系统自带的ssh服务

FTP还需要额外的进行安装FTP服务

SFTP搭建流程:

1、创建SFTP组

$groupadd sftp  

创建完成之后使用cat /etc/group命令组的信息

$cat /etc/group

2、创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码

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

$passwd mysftp 

3、新建/data/sftp/mysftp目录,并将它指定为mysftp组用户的home目录

$mkdir -p /data/sftp/mysftp  

$usermod -d /data/sftp/mysftp mysftp  #修改mysftp用户的home目录为/data/sftp/mysftp

4、编辑配置文件/etc/ssh/sshd_config

$vi /etc/ssh/sshd_config

将如下这行用#符号注释掉

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

并在文件最后面添加如下几行内容然后保存

Subsystem       sftp    internal-sftp    

Match Group sftp    

ChrootDirectory /data/sftp/%u    

ForceCommand    internal-sftp    

AllowTcpForwarding no    

X11Forwarding no  

linux如何搭建sftp服务器

5、设置目录权限

$chown root:sftp /data/sftp/mysftp  

$chmod 755 /data/sftp/mysftp

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

$mkdir /data/sftp/mysftp/upload  

$chown mysftp:sftp /data/sftp/mysftp/upload  

$chmod 755 /data/sftp/mysftp/upload 

7、关闭selinux并重启sshd服务,然后测试

#关闭selinux
$setenforce 0
setenforce:SELinux is disabled
#重启sshd服务
$systemctl restart sshd.service

在其他服务器上进行验证,sftp 用户名@ip地址

linux如何搭建sftp服务器

注意:openssh的版本必须大于4.8p1

--------------------------------------------------

PHPSTORM设置同步SFTP

--------------------------------------------------

1、File->Create New Project form Existing Files,选择第4个,files are accessible via FTP/SFTP/FTPS,Next

2、Project local path 选择本地项目的地址,Project name 需要与本地目录同名,Next

3、远程服务器地址10.17.11.251,填写个人账户密码后,可以点击Test Connection测试连接是否正常。记得勾选下方的Don't check HTTP connection to server,Next

4、选择远程服务器目标项目根目录,选择后点击上方的Project Root,如目录不存在,联系管理员创建。Next

5、finish

6、远程SFTP连接已经创建完成。

同步项目时,选择目标目录或者文件,右键->Deployment->Upload to...,选择对应的远程服务器。也可使用快捷键Ctrl+Alt+Shift+X

勾选Tools->Deployment->Automatic Upload,每次本地修改保存后会自动同步远程服务器。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部