1、首先用ssh -v 查询主机是否安装了openssh,如果查看不到版本号,则表示需要安装openssh,具体命令如下:
yum install -y openssl openssh-server
yum install openssh*
systemctl enable sshd
systemctl start sshd
service sshd start
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
再执行版本号查看命令:ssh -V (大写)
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
版本必须大于4.8p1,低于的这个版本需要升级。出现上面的结果表示openssh安装成功
2.创建sftp组,创建一个sftp用户,用户名为mysftp,密码为*******
[root@ linuxidc.com ~]# groupadd sftp
[root@ linuxidc.com ~]# useradd -g sftp -s /bin/false mysftp
[root@ linuxidc.com ~]# 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为/var/ftp/pub/ usermod 命令修改系统帐户文件来反映通过命令行指定的变化
-d|--home ##修改用户的家目录通常和-m选项一起使用
[root@ linuxidc.com ~]# mkdir -p /var/ftp/pub/
[root@ linuxidc.com ~]# usermod -d /var/ftp/pub/ mysftp
4.编辑/etc/ssh/sshd_config
[root@ linuxidc.com ~]# vim /etc/ssh/sshd_config
# Subsystem sftp /usr/libexec/openssh/sftp-server #这一行注释掉
Subsystem sftp internal-sftp #加上下面六个个配置属性
Match Group sftp
ChrootDirectory /var/ftp/pub/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
5.更改文件夹拥有者及文件夹权限
[root@ linuxidc.com ~]chown root:sftp /var/ftp/pub/
[root@ linuxidc.com ~]chmod 755 /var/ftp/pub/
6.建立sftp用户登录后可写入的目录
[root@ linuxidc.com ~]mkdir /var/ftp/pub/topologydiagram
[root@ linuxidc.com ~]chown mysftp:sftp /var/ftp/pub/topologydiagram
[root@ linuxidc.com ~]chmod 755 /var/ftp/pub/topologydiagram
7.将文件/etc/selinux/config中的SELINUX=enforcing修改为SELINUX=disabled,然后保存
输入service sshd restart重启服务
8.用mysftp用户名登录,显示 sftp> 则表示搭建成功
[root@ linuxidc.com ~]sftp [email protected]
9.使用FileZilla FTP Client连接sftp服务器