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

eacd659fe4ea78ba2f0076649d08f637.png

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地址

43c9921e6f63ab89b12c87595b18d9ab.png

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

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

PHPSTORM设置同步SFTP

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

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

424a553296814de61cb37ecb3838474d.png

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

e74ed2415d2ffa43e24eb858ee6198cc.png

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

71c932dfe6df20ce6819c9e548ffd1d8.png

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

41c080bffa367ea8264d74e85950b675.png

5、finish

9f3fb42a939b6bb07d1eac69bcf4cfcb.png

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

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

2f80bfa15ac5f9097ca74871a8ff4166.png

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

3c524d246c79d866e56ca23baf6fa580.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建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客户端连接到该服务器并进行文件传输了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值