CentOS6.4 安装sftp

时间:2024-01-09 12:43:32

1.打开命令终端窗口,按以下步骤操作。使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。

[root@ecs-3c46 ~]# ssh -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]

2.创建sftp组,创建一个sftp用户,用户名为mysftp,密码为*******

[root@ecs-3c46 ~]# groupadd sftp
[root@ecs-3c46 ~]# useradd -g sftp -s /bin/false mysftp
[root@ecs-3c46 ~]# passwd mysftp
Changing password for user mysftp.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.

3.sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp
usermod 命令修改系统帐户文件来反映通过命令行指定的变化
-d|--home    ##修改用户的家目录通常和-m选项一起使用

[root@ecs-3c46 ~]# mkdir -p /data/sftp/mysftp
[root@ecs-3c46 ~]# usermod -d /data/sftp/mysftp mysftp

4.编辑/etc/ssh/sshd_config

[root@ecs-3c46 ~]# vim /etc/ssh/ssh_d_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

5.更改文件夹拥有者及文件夹权限

[root@ecs-3c46 ~]chown root:sftp /data/sftp/mysftp
[root@ecs-3c46 ~]chmod 755 /data/sftp/mysftp

6.建立sftp用户登录后可写入的目录

[root@ecs-3c46 ~]mkdir /data/sftp/mysftp/upload
[root@ecs-3c46 ~]chown mysftp:sftp /data/sftp/mysftp/upload
[root@ecs-3c46 ~]chmod 755 /data/sftp/mysftp/upload

7.将文件/etc/selinux/config中的SELINUX=enforcing修改为SELINUX=disabled,然后保存
输入service sshd restart重启服务

8.用mysftp用户名登录,显示 sftp> 则表示搭建成功

[root@ecs-3c46 ~]sftp mysftp@127.0.0.1

9.使用FileZilla FTP Client连接sftp服务器
CentOS6.4 安装sftp