首页 > 系统相关 >Linux-快速搭建sftp服务

Linux-快速搭建sftp服务

时间:2023-06-19 23:57:57浏览次数:52  
标签:rw data sftp ssh Linux test root 搭建

一、添加用户组sftp
groupadd sftp
cat /etc/group

[root@test data]# pwd
/home/data
[root@test data]# cat /etc/group
sftp:x:1003:

二、创建用户mysftp
// 创建用户到用户组,并禁止登录
[root@test data]# useradd -g sftp -s /bin/false mysftp

// 查看用户
cat /etc/passwd
 
// 修改密码
[root@test data]# passwd mysftp
Changing password for user mysftp.
New password: mysftp!#2023
BAD PASSWORD: The password contains the user name in some form
Retype new password: mysftp!#2023
passwd: all authentication tokens updated successfully.
[root@test data]#

三、创建文件夹作为用户mysftp的根目录
// 创建用户的根目录文件夹
[root@test data]# mkdir -p /home/data/sftpdata
 
// 将文件夹设置为用户mysftp的根目录
[root@test data]# usermod -d /home/data/sftpdata  mysftp
cat /etc/passwd

四、修改sshd_config配置
[root@test data]# cd /etc/ssh
[root@test ssh]# ll
total 624
-rw-r--r-- 1 root root 578094 Mar  8  2022 moduli
-rw-r--r-- 1 root root   1578 May 22 09:56 ssh_config
-rw-r----- 1 root root   1533 May 19 09:13 ssh_config_202305190915_zkm
-rw-r--r-- 1 root root   3693 May 22 09:40 sshd_config
-rw-r----- 1 root root   3540 May 12 21:38 sshd_config_202305122140_zkm
-rw-r----- 1 root root   3722 May 13 09:25 sshd_config_202305130927_zkm
-rw-r----- 1 root root   3725 May 22 09:39 sshd_config_202305220942_zkm
-rw------- 1 root root   1401 Mar  8  2022 ssh_host_dsa_key
-rw-r--r-- 1 root root    617 Mar  8  2022 ssh_host_dsa_key.pub
-rw------- 1 root root    525 Mar  8  2022 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    189 Mar  8  2022 ssh_host_ecdsa_key.pub
-rw------- 1 root root    419 Mar  8  2022 ssh_host_ed25519_key
-rw-r--r-- 1 root root    109 Mar  8  2022 ssh_host_ed25519_key.pub
-rw------- 1 root root   2610 Mar  8  2022 ssh_host_rsa_key
-rw-r--r-- 1 root root    581 Mar  8  2022 ssh_host_rsa_key.pub
[root@test ssh]# cp sshd_config sshd_config_202305271857_zkm

vim /etc/ssh/sshd_config
1)注释Subsystem sftp /usr/libexec/openssh/sftp-server(若不注释,可以通过"cd / "看到系统所有文件)

2)添加配置
[root@test ssh]# vim /etc/ssh/sshd_config
[root@test ssh]# cat /etc/ssh/sshd_config | grep -v  ^#  |grep -v ^$
LoginGraceTime 0m
PermitRootLogin no
MaxSessions 1000
AuthorizedKeysFile .ssh/authorized_keys
UsePAM yes
MaxStartups 1000:30:1200
Banner /etc/sshbanner
PasswordAuthentication yes
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
KexAlgorithms [email protected],diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
MACs hmac-sha1,hmac-sha1-96,hmac-md5,[email protected],[email protected],[email protected],hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
Subsystem sftp internal-sftp
Match  User sftp
ChrootDirectory /home/data/sftpdata/mysftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
[root@test ssh]#

Match Group sftp:匹配sftp组的用户,如果有多个组,用逗号分隔。也可以使用"Match User mysftp"匹配用户,多个用户之间也是用逗号分隔。
ChrootDirectory /home/data/sftpdata/mysftp:将用户的根目录指定到/home/data/sftpdata/mysftp
ForceCommand internal-sftp:指定sftp命令。
X11Forwarding no:是否允许用户可以使用端口转发。

五、修改用户mysftp的根目录,让其属于root
[root@test ssh]# chown root:sftp /home/data/sftpdata
[root@test ssh]# chmod 755 /home/data/sftpdata

六、创建用户mysftp可写入的目录,并授权
// 由于sshd_config配置中指定了根目录,根目录无法写入,因此要创建一个用于上传文件的目录。
// 目录所有者为mysftp,有写入权限;所有组为sftp,无写入权限。
 
// 由于sshd_config配置中指定了根目录,根目录无法写入,因此要创建一个用于上传文件的目录。
// 目录所有者为mysftp,有写入权限;所有组为sftp,无写入权限。
[root@test ssh]# mkdir /home/data/sftpdata/commandInfo
[root@test ssh]# chown mysftp:sftp /home/data/sftpdata/commandInfo
[root@test ssh]# chmod 755 /home/data/sftpdata/commandInfo

七、关闭Selinux策略
vim /etc/selinux/config
修改SELINUX=disabled,否则重启sshd会提示权限不够。

八、重启ssh服务
[root@test home]# /bin/systemctl restart sshd.service
[root@test home]# systemctl restart sshd

九、连接验证
sftp [email protected]
sftp安装已经完成。


标签:rw,data,sftp,ssh,Linux,test,root,搭建
From: https://www.cnblogs.com/zhangkaimin/p/17492519.html

相关文章

  • 02-Hadoop集群搭建
    1.集群配置1.1集群部署规划资源上有抢夺冲突的,尽量不要部署在一起;工作上需要互相配合的,尽量部署在一起。\Hadoop102Hadoop103Hadoop104HDFSNameNode&DataNodeDataNode2rdNameNode&DataNodeYARNNodeManagerResourceManager&NodeManagerNodeManag......
  • Linux环境下I2C应用程序编写
    原文:https://blog.csdn.net/propor/article/details/129667596本文介绍Linux环境下,对I2C设备进行操作。在对I2C总线进行操作时,可采用i2c-tools对I2C进行查看及操作,待通过工具可对I2C进行操作后,再编写程序进行操作。1.i2c-tools的使用1)安装sudoaptinstalli2c-tools2)查询......
  • 《Linux命令行与shell脚本编程大全》研读笔记
    目录命令总结进程相关环境变量相关第六章Linux环境变量命令总结进程相关命令名称作用举例psProcessStatus,用来列出系统中当前运行的那些进程ps-ftop动态地显示进程信息top环境变量相关命令名称作用举例env列出全局环境变量env......
  • linux中进入python交互解释器Tab补全功能
    进入python交互解释器后,按tab键默认是缩进功能,而不是代码补全。为了实现代码补全,可以采用如下操作:1、创建指令补全文件[root@room8pc16 ~]# vim /usr/local/bin/tab.pyfrom rlcompleter import readlinereadline.parse_and_bind('tab: complete')2、配置环境变量,在~/.bashrc......
  • Linux关闭防火墙命令
    1、防火墙的开启、关闭、禁用命令设置开机启用防火墙:systemctlenablefirewalld.service设置开机禁用防火墙:systemctldisablefirewalld.service启动防火墙:systemctlstartfirewalld关闭防火墙:systemctlstopfirewalld检查防火墙状态:systemctlstatusfirewalld2、使用fi......
  • Linux 操作系统及应用考试题
    Linux操作系统及应用考试题要求:操作题截屏到WORD文档,文件名字为学号+姓名。每道题如能显示,应显示你的用户名,必要的步骤需截图,图片不要太大。考试操作题(100分)。......
  • linux 中安装最新版的cmake命令
     001、下载安装包官网:https://cmake.org/ 002、解压安装包tar-xzvfcmake-3.27.0-rc2-linux-x86_64.tar.gzcdcmake-3.27.0-rc2-linux-x86_64/binls 003、测试命令及版本(base)[root@PC1bin]#./cmake--versioncmakeversion3.27.0-rc2CMakesuitemaint......
  • python3 subprocess.getoutput(cmd) 执行linux命令进入交互模式后一直卡住了
    进入交互模式是我们预期之外的,记录一下。进入交互之后linux一直等待你的输入,所有subprocess.getoutput()就一直卡着呢~,我们加入timeout通过学习subprocess中支持timeout有:getoutput并不支持timeout参数尝试了callcheck_allcheck_output这几个方法之后并不能解决Linux交......
  • 线上视频会议平台搭建如何选择服务器配置?
    庚子鼠年,荆楚大地,奋战疫情,举国上下,众志成城!但是不管何时,我们的工作是不能被耽搁的!全国的线上会议平台也都活跃了起来无疑,远程线上会议的需求量暴增,未来的前景十分可观,从而上下游供应链也带动起来。一个线上会议平台要运行,需要有大带宽,无限流量,高配置的服务器和专业的技术团队来支撑......
  • gitblit服务器在window10搭建
    一、gitblit下载1.打开网址http://www.gitblit.com2.下载对应版本 二、gitblit的部署与配置1.解压下载的包2.将解压后的文件放到指定目录3.修改配置,进入D:\gitblit-1.8.0\data目录下找到defaults.properties,修改配置中端口、IP和仓库目录(自建文......