如何把mac变成sftp服务器?
Mac系统是原生集成了 ftp服务器, 只要简简单单的几步设置就能把你的mac变成ftp服务器, 这样方便了我们跨平台共享文件
在Macbook上做如下设置:
[blockquote]
打开System Preferences > Share 对话框,在左侧列表中的“File Sharing”之前打勾;[/li]
[/li]点击该对话框中的“Options”按钮;[/li]
[/li]在随后出线的对话框中的“Share files and folders using FTP”之前打勾;[/li]
[/li]点击“Done”按钮完成设置[/li]
[/blockquote]在Windows机器上打开资源管理器或者浏览器,在地址栏输入:
[blockquote]ftp://macbook用户名:macbook密码@macbook IP地址
[/blockquote][blockquote]例如: ftp://pearmac:123456@19216801
[/blockquote]如此即可通过FTP方式访问Macbook上的所有文件
如果你访问过较新版本的Mac OS X中的“共享首选项”面板,则可能已经注意到不再允许FTP服务器共享文件和文件夹的直接选项。至少没有一个明显的选择,但FTP和SFTP服务器功能仍然存在,这两个刚分裂成不同的功能,新版本的OS X喜欢SFTP而不是FTP。无论你想要使用什么,为其中任何一个设置服务器都非常简单,下面将介绍如何在OS X中启动FTP或SFTP服务器。
这将启动Mac上的通用FTP和FTPS服务器,但不是SFTP服务器:
如果你看到熟悉的FTP登录:
那么说明服务器正在运行。如果你没有看到,那么服务器还没有完成启动,或者你没有正确输入命令。然后,你可以通过相同的ftp命令,或使用Finder中的“连接到服务器”选项进行FTP。
正如你可能知道的那样,FTP是未加密的,因此出于安全考虑而失宠。现在在Mac上启用SFTP实际上比FTP更容易:
你可以通过在命令行输入以下内容来验证SFTP是否正常工作:
注意: FTP和SFTP服务器是不同的,启用一个不启用另一个。建议使用SFTP,因为默认加密层和安全传输。
以下是如何禁用FTP服务器的方法:
如命令所示,这将卸载ftp守护进程并关闭服务器。你只能关闭和禁用FTP服务器。而禁用SFTP只是取消选中位于OS X的“共享首选项”面板中的“远程登录”框。
安装FTP
使用YUM安装
yum -y install vsftpd
文件配置
安装完之后在/etc/vsftpd/路径下会存在三个配置文件。
vsftpdconf: 主配置文件
ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户。
user_list: 指定的用户是否可以访问ftp服务器,通过vsftpdconf文件中的userlist_deny的配置来决定配置中的用户是否可以访问,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 这三个配置允许文件中的用户访问FTP。
查看主配置文件的默认配置
cat /etc/vsftpd/vsftpdconf |grep -v '^#';
anonymous_enable=YES #允许匿名用户
local_enable=YES #允许使用本地用户账号登陆
write_enable=YES #允许ftp用户写数据
connect_from_port_20=YES #通过20端口传输数据
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
chroot_local_user=yes
其它的一些参数说明包括:
ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息
idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60 设置在多长时间后自动建立连接
connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200 指明服务器总的客户并发连接数为200
max_per_ip=3 指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec) 本地用户最大传输速率限制
anon_max_rate=30000匿名用户的最大传输速率限制
pasv_min_port=端口
pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port=端口号 设置FTP工作的端口号,默认的为21
local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user;
chroot_list_enable=yes/no 启用不锁定用户在主目录的名单
chroot_list_file=/etc/vsftpd/chroot_list指定列表文件
userlist_enable=YES/NO 是否加载用户列表文件;
userlist_deny=YES 表示上面所加载的用户允许登录;
userlist_file=/etc/vsftpd/user_list 指定列表文件
创建FTP连接用户
创建用户ftpuser
useradd ftpusr
设置用户只能ftp不能登入
usermod -s /sbin/nologin ftpuser
设置用户密码
passwd ftpusr
用户的默认的家目录在/home下,当前用户就只能访问家目录。
修改用户的家目录位/mnt
usermod -d /mnt ftpuser
启动FTP服务
service vsftpd start
测试
在/mnt目录下创建一个测试文件
touch /mnt/test
连接ftp
解决普通的FTP无法登入问题
linux默认是带安全机制,使用普通的ftp 21端口无法连接到ftp服务器,使用sftp就可以。这个时候需要关闭selinux,修改配置文件需要重启服务器。
vim /etc/sysconfig/selinux
改成selinux=disabled
不重启服务器的方法:
setenforce 0
setenforce 1 :设置SELinux 成为enforcing模式
setenforce 0 :设置SELinux 成为permissive模式
查看SELinux状态
/usr/sbin/sestatus -v
我也只是装了SFTP,首先你需要有一个阿里云的ECS服务器并且开通了公网宽带(话说也不贵,开来玩玩还是可以的,第一次买会比较便宜,第二次买1M的宽带两天是九毛多吧~)开通了宽带之后,ECS服务器就可以上网了如果嫌弃阿里云的连接管理终端太卡不好用的话可以在本地电脑cmd控制台运行mstscexe启动远程桌面连接
0条评论