linux系统部署sftp服务,linux搭建SFTP服务

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服务,linux搭建SFTP服务_第1张图片

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服务,linux搭建SFTP服务_第2张图片

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

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

PHPSTORM设置同步SFTP

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

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

linux系统部署sftp服务,linux搭建SFTP服务_第3张图片

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

linux系统部署sftp服务,linux搭建SFTP服务_第4张图片

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

linux系统部署sftp服务,linux搭建SFTP服务_第5张图片

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

linux系统部署sftp服务,linux搭建SFTP服务_第6张图片

5、finish

linux系统部署sftp服务,linux搭建SFTP服务_第7张图片

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

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

linux系统部署sftp服务,linux搭建SFTP服务_第8张图片

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

linux系统部署sftp服务,linux搭建SFTP服务_第9张图片

你可能感兴趣的:(linux系统部署sftp服务)