当前位置:首页 » 云服务器 » centos搭建sftp服务器搭建

centos搭建sftp服务器搭建

发布时间: 2023-01-31 19:35:34

linux/centos普通用户sudo开启sftp

一般情况下,从安全考虑,root是禁止ssh登录,普通用户通过sudo操作,一般都没问题,但是要通过ftp传输文件就麻烦了,文件是属于root用户的,普通用户即使等登录也不能更改文件,也要加上sudo命令才能更改文件,通过winscp软件可以实现实现这个功能,详细配置查看这个帖子:

http://blog.csdn.net/xuejinliang/article/details/52301349

配置图1(http://upload-images.jianshu.io/upload_images/3727878-911d343f96035822.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

配置-高级-SFTP    sudo /usr/libexec/openssh/sftp-server

配置图2(http://upload-images.jianshu.io/upload_images/3727878-52fa5c95dcc9d859.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

配置-高级-Shell   sudo -i

附加背景知识:

https://en.wikibooks.org/wiki/OpenSSH/Cookbook/File_Transfer_with_SFTP

在主流linux系统版本当中,默认都有安装openssl和openssh包,都有ssh命令,也就是说默认安装好了SFTP服务器和sftp命令,不需要额外配置vsftp。

sftp有两种实现

1.sftp-server默认实现

2.internal-sftp可更改用户对应的目录

本来考虑不用sudo,而是通过internal-sftp来实现,把普通用户加入到root用户组,把文件的root用户组权限加上写的权限来实现的,后来发现没用,

因为目录权限设置要遵循2点:

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。

如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。

❷ vmware虚拟机centos 系统怎么设置sftp

你好 不知道你具体的CentOS版本 ,就以最新的版本CentOS7来讲解吧。根据《linux就该这么学》里的方法需要以下步骤:
在CentOS7系统中网卡配置文件的前缀则为"ifcfg-eno",例如"ifcfg-eno16777736"。
网卡的配置文件存放在"/etc/sysconfig/network-scripts"目录中。
在修改配置文件前,先来学些关键词术语吧:
网卡类型:TYPE=Ethernet
地址分配模式:BOOTPROTO=static
网卡名称:NAME=eno16777736
是否启动:ONBOOT=yes
IP地址:IPADDR=192.168.10.10
子网掩码:NETMASK=255.255.255.0
网关地址:GATEWAY=192.168.10.1
DNS地址:DNS1=192.168.10.1

上面的网卡配置文件代表着“这是一个以太网卡设备,名称为"eno16777736"且开机自动启动,IP地址等信息需由人工指定”。
配置网卡信息前先来理清思路:
第1步:首先我们要切换到"/etc/sysconfig/network-scripts"目录中(该目录存放着网卡的配置文件)。
第2步:使用vim命令修改文件"ifcfg-eno16777736"。
第3步:逐项写入配置参数,并保存退出。
第4步:重新启动网卡命令:"systemctl restart network"。
第5步:通过ping命令测试网卡信息是否生效。
切换到网卡配置文件所在的目录:
[root@linuxprobe ~]# cd /etc/sysconfig/network-scripts/

编辑网卡配置文件并填入下面的信息:
[root@linuxprobe network-scripts]# vim ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=static
NAME=eno16777736
ONBOOT=yes
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=192.168.10.1

重新启动网卡,正常情况不会提示信息:
[root@linuxprobe network-scripts]# systemctl restart network

不错哦,成功的ping通证明网卡配置正确并生效了:
[root@linuxprobe network-scripts]# ping 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.081 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.083 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.059 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.097 ms
^C
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.059/0.080/0.097/0.013 ms

以上就是配置IP的全部过程,如果还有疑问的话可以直接去网上下载这本,《linux就该这么学》来学习,全都是工作中一定会用到的技能。

❸ 如何搭建sftp服务器

1、如何建立第一步 安装原版软件和汉化补丁,这个过程就不多说了,想必没人不会的。 2、安装完成后程序会自动运行,你也可以在菜单中选择运行。第一次运行程序,它会弹出设置向导窗口,将会带你完成最初的设置。单击“下一步”,出现“显示菜单图像”的窗口,问你是否在菜单中显示小图像,看各人喜欢了。3、 单击“下一步”,这个窗口是让你在本地第一次运行FTP服务器,只要“下一步”就行了。 4、 接下来要你输入你的IP地址,如果你自己有服务器,有固定的IP,那就请输入IP地址,如果你只是在自己电脑上建立FTP,而且又是拨号用户,有的只是动态IP,没有固定IP,那这一步就省了,什么也不要填,Serv-U 会自动确定你的IP地址,单击“下一步”; 5、 在这儿要你输入你的域名,如果有的话,如:FEIMIAO.no-ip.com,没有的话,就随便填一个;6、 “下一步”,询问你是否允许匿名访问。一般说来,匿名访问是以Anonymous为用户名称登录的,无需密码,当然如果你想成立一个会员区什么的,就应该选择“否”,不让随便什么人都可以登录,只有许可用户才行,在此我们填“是”;7、 “下一步”,问你匿名用户登录到你的电脑时的目录,你可以自己指定一个硬盘上已存在的目录,如E:\temp;8、 “下一步”,询问你是否要锁定该目录,锁定后,匿名登录的用户将只能认为你所指定的目录(F:\temp)是根目录,也就是说它只能访问这个目录下的文件和文件夹,这个目录之外就不能访问,对于匿名用户一般填“是”; 9、 “下一步”,询问你是否创建命名的帐号,也就是说可以指定用户以特定的帐号访问你的FTP,这对于办会员区可很有用哦,你可以对于每个人都创建一个帐号,每个帐号的权限不同,就可以不同程序地限制每个人的权利,方法将在后面讲到,这里选择“是”; 10、 “下一步”,请你填入所要建立的帐号的名称11、“下一步”,请输入密码,如:874 12、 “下一步”,询问登录目录是什么,这一步与第7步一样,如:F:\temp 13、 “下一步”,询问你是否要锁定该目录,同第8步,这里选择“否”; 14、 接下来询问你这次创建的用户的管理员权限,有几项选择:无权限,组管理员,域管理员,只读管理员和系统管理员,每项的权限各不相同;这里选择“系统管理员”;15、 最后一步,点击“完成”就OK了,你有什么需要修改的,可以点“上一步”,或者进入Serv-U管理员直接修改。至此,我们建立了一个域ftp.abc.com,两个用户,一个Anonymous,一个ldr。既然我们已经建立好FTP服务器,那么我们就应该可以用FTP客户端软件来尝试登录。怎么办呢?其实很简单,我们不用上网,就可以测试。我们知道,不上网时,本地机的IP地址默认就为127.0.0.1,FTP端口号为21。Serv-U管理员中的各项设置 在设置完成后,将会进入Serv-U管理员的主界面,左边窗格中显示各个栏目,右边窗格中显示各个栏目的具体选项,下面就大概讲一讲设置内容。 1、 中,我们可以人 为地控制Serv-U引擎的运行或停止,记住,在Win 9x/Me 中,我们就要在此选择“系统服务”,才会运行Serv-U引擎。 2、 “许可”,如果你花美元买了注册号,就可以在此输入。 3、 “设置”,这个设置是对于“本地服务器”来说的。“常规”设置中可以限制服务器的最大速度,可以拦截FXP(站点到站点传送),也可以限制用户的数量,这样不至于你的服务器被拖跨。“目录缓存”设置中允许你自己确定目录列表的个数以及超时时间,在Windows 95 和 NT下,目录列表默认设置为25,当缓存满了之后,新的请求将替换老的请求。“高级”设置中可以让你自己定义服务器、Socket、文件的上传和下载的各项设置。 4、 “活动”,在这里记录了用户的活动日志,已封锁的IP的活动日志,以及任务日志;任务日志中显示的就是你开始停止的各项操作记录,你可以点击右键,选择此过滤文本,使其只显示你所想见的内容。 5、 “域”,这里包含了你一开始根据向导所建立的用户、设置、域等。“域--设置”中所设置的内容其实与第3步差不多,只是它更加具体,可以对于每一个不同域定制。“域--活动”中记载了这个域下所有用户的活动情况。 6、 “域--组”,我们可以自己建立一些便于管理的组,然后把一类的用户归到一个组中。 7、 “域--用户”中 A、 对于一些不守规则的人,我们可以选择“禁用帐号”,虽然有帐号,但可以使用户一时间无法登录;你也可以设置让程序到达某个日期后自动删除某个帐号;下面几栏是这个帐号的基本信息,我们都可以在此更改,其中密码改过后并不显示,而是统一显示<<Encrypted>>,特别要注意选项“锁定用户于主目录”,什么意思呢?大家应该碰到,每次我们登录到FTP服务器上后,在根目录下只显示“/”,选择这项选项后,就是这样,如果不选,会出现什么情况呢?你可以做一下试验,在根目录下将显示“/f:/myself/”,也就是说显示了你硬盘中的绝对地址,这在某些情况下是很危险的,有不怀好意的高手,你就麻烦了! B、“常规”栏 你可以隐藏属性为隐藏的文件,可以限制同一IP的登录个数,是否允许用户更改密码(这需要客户端软件的支持),最大上传下载的速度,超时时间以及空闲时间,你也可以限制最大用户数量,如20,说明同时只能有20个用户登录。 C、“目录访问”栏 在此你可以控制用户对于文件目录的权限,对文件有读取、写入、删除、追加、执行等操作,对于文件夹有列表、创建、删除,以及是否继承子目录;如果觉得目录不够,你也可以添加可访问的目录。 D、“IP访问”栏 在这里你可以规定某个IP是否可以访问你的FTP服务器,你可以拒绝它的访问,只要填上相应的IP地址,以后由这个IP的访问通通被拦下。 E、“上传/下载率”栏 在这里你可以设置上传和下载之间的比值,控制好上传和下载之间的数据流量关系。 F、“配额”栏 这里你可以为每个FTP用户设置磁盘空间,点击“计算当前”,可以知道当前目录下的所有空间大小,在“最大”一栏中填入你想要限制的容量。最后有一点,改过设置后一定要点击右键,选择“应用”使设置生效才行,否则一切都白做了!!

❹ vps centos 6 64bit怎么安装ftp服务器

1.先检查有没有安装 rpm -q vsftpd
如果没有安装 yum install vsftpd

2.先关闭防火墙进行调试.

service iptables stop

或者一步到位 添加规则允许21端口通行
vi /etc/sysconfig/iptables

添加一条
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行:

b.防火墙配置开放:

-A INPUT -p tcp --dport 30000:30100 -j ACCEPT
重启防火墙即可
service iptables restart

这时应该可以用 winscp进行 SFTP连接了 ROOT帐户
现在开始设置FTP 默认的已经可以用匿名登录了

二。备份 etc/vsftpd/vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

编辑vsftpd.config文件 vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
设定不允许匿名用户访问。

为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行,上面已经开通相应端口防火墙,在最后加入
pasv_enable=YES
pasv_max_port=30100
pasv_min_port=30000
(上面的30000--30100端口号可以是其它的,在此举例)

/usr/sbin/setenforce 0 立刻关闭 SELINUX

#mkdir /tmp/test //首先创建好目录

#adser -d /tmp/test -g ftp -s /sbin/nologin test

//-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/tmp/test ,即该账户只能登陆ftp,却不能用做登陆系统用。-g 是指定为FTP用户组

#passwd test

Changing password for user beinan.//接下来会出现让你设置新的密码

**************************************************
【如果要删除用户,用下面代码:
userdel test //userdel + 用户 即可删除ftp用户】
***********************************************************

有必要的话 设置TEST目录权限

修改/var/www目录属性:
$ chmod -R 777 /var/www 递归地给此目录下所有文件和子目录的读、写、执行权限
$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组

三。接着 限制用户目录,不得改变目录到上级

修改/etc/vsftpd/vsftpd.conf
将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

新增一个文件: /etc/vsftpd/chroot_list
内容写需要限制的用户名:
test

重新启动vsftpd

# service vsftpd restart

四。最后为了防止服务器由于断电、重启等现象发生,导致ftp进程在开机后未启动,将其添加到开机启动文件中:

(1)找到/etc/rc.local文件

(2)打开该文件,在最后一行添加:service vsftpd start

(3)保存,退出

❺ 17.SFTP搭建

centos6.8环境

一、添加ssh端口

vim /etc/ssh/sshd_config

添加最后面两行,第一行要注释掉

#Port 22

#AddressFamily any

#ListenAddress 0.0.0.0

#ListenAddress ::

listenAddress 0.0.0.0:22

listenAddress 0.0.0.0:10220

#重启服务 查看监听

netstat -lntup|grep 22

二、修改配置

#vim /etc/ssh/sshd_config

#Subsystem sftp /usr/libexec/sftp-server //找到此行在前面加#注释掉

添加以下几行

Subsystem sftp internal-sftp

Match Group etcsftp #允许的组

ChrootDirectory %h #%h表示用户根目录全路径,也可以这样ChrootDirectory /home/%u

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

#重启服务

三、创建用户 #生产为/home/etcsftp

useradd -d /data/etcsftp -m etcsftp

usermod -s /bin/false etcsftp

#生产密码

echo 'xxxxxx'|passwd etcsftp --stdin

测试密码

echo 'xxxxxx'|passwd etcsftp --stdin

修改权限(不修改外网无法连接)

chown -R root.etcsftp /data/etcsftp/

chmod -R 755 /data/etcsftp/

在根目录下(/data/etcsftp/)建立存放文件的目录(在根目录没有读写权限)

并赋予etcsftp属主属组的权限

chown -R etcsftp.etcsftp handled untreated

四、添加用户

useradd -d /data/wukuangsftp -m wukuangsftp

usermod -s /bin/false wukuangsftp

测试密码

echo 'xxxxxx'|passwd wukuangsftp --stdin

生产密码

echo 'xxxxxx'|passwd wukuangsftp --stdin

修改权限(不修改外网无法连接)

chown -R root.wukuangsftp /data/wukuangsftp/

chmod -R 755 /data/wukuangsftp/

在根目录下(/data/wukuangsftp/)建立存放文件的目录(在根目录没有读写权限)

并赋予wukuangsftp属主属组的权限

mkdir upload

chown -R wukuangsftp.wukuangsftp upload

添加ssh配置/etc/ssh/sshd_config

Subsystem sftp internal-sftp

#etcsftp

Match Group etcsftp

ChrootDirectory %h

#wukiangsftp

Match Group wukuangsftp

ChrootDirectory %h

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

❻ 搭建sftp服务器

网上大部分文章都是人云亦云,能把为什么这么设置讲得清楚的,可以参考这两篇
https://blog.csdn.net/qq_15000459/article/details/108108625
https://www.maixj.net/ict/ssh-sftp-21993

我的需求是可以设置多个账号,可以共享访问目录,可以看到某个文件是谁创建的

首先要创建用户组

然后在这个组内添加用户

-g用于指定用户组,-s用于指定login shell,用/sbin/nologin则不允许该用户ssh登录。-M表示不创建该用户的home目录

接着给这些用户生成密码

接着,准备ftp的根目录。我用的是/home/sftp。按照规则,这个根目录/home/sftp拥有者只能是root,而且权限最高位755。如果这个目录是用root用户创建的,则默认就是满足的。为了给sftp用户传文件,只能在/home/sftp下面再建一层子目录,把这层子目录的拥有者改为sftp组的某个用户,并把权限改为775,让组内其他成员也可以读写

再然后,就是修改sshd的配置了。vi /etc/ssh/sshd_config,注释掉
Subsystem sftp /usr/libexec/openssh/sftp-server
一行,然后加上

重启sshd

❼ centos怎么搭建ftp服务器

方法/步骤
一:安装vsftpd
查看是否已经安装vsftpd

二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
配置文件直接贴出来吧

三:使用Berkeley DB进行认证
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码

接着,生成虚拟用户认证的db文件
编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
最后,创建虚拟用户配置文件

设置FTP根目录权限
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限

添加防火墙,把ftp的21端口开放 vi /etc/sysconfig/iptables

经过以上步骤我们就完成了ftp服务器的搭建,让我们畅游ftp吧

❽ 如何在Centos下安装ftp服务器

一:安装vsftpd
查看是否已经安装vsftpd

二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
配置文件直接贴出来吧

三:使用Berkeley DB进行认证
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码

接着,生成虚拟用户认证的db文件
编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
最后,创建虚拟用户配置文件

设置FTP根目录权限
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限

添加防火墙,把ftp的21端口开放 vi /etc/sysconfig/iptables

经过以上步骤我们就完成了ftp服务器的搭建,让我们畅游ftp吧

❾ 二、Centos7-FTP服务器的搭建

ftpname为你为该ftp创建的用户名,/data/KodServer/data/User/tomas/home 为登录进去后的位置

(备注:用cat etc/passwd可以查看当前系统用户)

①、查看ftp的状态:sestatus -b | grep ftp
②、在结果中可以看到: tftp_home_dir off
③、将状态改为on:setsebool -P tftp_home_dir on
④、重启vsftp服务:systemctl restart vsftpd.service

问题:Failed to restart vsftpd.service: Unit not found.

把ftp用户写进去,如果没有这个文件的话就可以复制当前目录下user_list那个文件,然后清空添加用户名即可。

然后就可以使用ftp工具从外部访问了

热点内容
qq里的互动访问 发布:2025-05-17 07:26:53 浏览:663
口语易账号密码发送到哪里 发布:2025-05-17 07:26:52 浏览:61
核桃编程幼儿 发布:2025-05-17 07:26:50 浏览:784
2台服务器集群搭建 发布:2025-05-17 07:18:57 浏览:184
北方园林配置植物有哪些 发布:2025-05-17 07:18:20 浏览:543
数控加工零件图及编程 发布:2025-05-17 07:18:11 浏览:729
炼钢碱度算法 发布:2025-05-17 07:17:26 浏览:13
python获取年月日 发布:2025-05-17 07:15:33 浏览:302
手机加密软件java 发布:2025-05-17 07:00:24 浏览:442
网页如何连接密码器 发布:2025-05-17 06:54:49 浏览:840