最近在keepass官网看到sftp插件,便想利用sftp来同步keepass的数据库,毕竟密码数据库关系重大,放在别人的服务器上总归不安全。

sftp

一、验证ssh是否大于4.8p1

rpm -qa|grep ssh

二、sftp配置

2.1 创建sftp文件夹

创建sftp文件夹存放你上传的文件

mkdir -p /data/sftp
chmod 701 /data

2.2 创建sftp用户组

创建一个用户组,专门用于sftp用户

groupadd sftpusers

2.3 创建一个sftp用户

创建一个叫lao的用户,并修改该用户密码

useradd -g sftpusers -d /upload -s /sbin/nologin lao
passwd mysftpuser

2.4 创建sftp用户的文件夹

创建上一步的用户的文件夹,用于保存该用户的文件

mkdir -p /data/lao/upload
chown -R root:sftpusers /data/lao
chown -R mysftpuser:sftpusers /data/lao/upload

创建完成后进行校验

  • 校验data目录权限
    ls -ld /data/

  • 校验/data/lao
    ls -ld /data/lao

  • 校验/data/lao/upload
    ls -ld /data/lao/upload

  • 检查sftp用户登陆类型
    cat /etc/passwd|grep lao

2.5 修改sshd_config文件

修改sshd_config文件,用于开启sftp服务

vim /etc/ssh/sshd_config

在文件最后添加

Match Group sftpusers    # 匹配用户组,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /data/%u # 指定登陆用户到自己的用户目录
ForceCommand internal-sftp # 指定 sftp 命令

# 这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
X11Forwarding no
AllowTcpForwarding no

2.6 重启sshd服务

  • 检查sshd服务状态
    service sshd status

  • 重启服务
    service sshd restart

三、测试

3.1 安装nmap

yum list nmap
yum install nmap -y

3.2 测试

sftp lao@localhost


出现上图的sftp命令行表示sftp安装成功

3.3 使用

sftp://lao@xx.xx.xx.xx:22/upload/yuyu_pw_db.kdbx