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服务器