一、部署sftp服务
(本质是使用ssh中的sftp服务)
1、创建sftp组 :
groupadd sftp
2、创建一个sftp用户,用户名为sftp_upload :
useradd -g sftp -s /bin/false sftp_upload
3、修改密码:
passwd sftp_upload
4、sftp组的用户的home目录统一指定到/sftp下:
mkdir -p /sftp/sftp_upload
5、指定sftp_upload的home为/sftp/sftp_upload:
usermod -d /sftp/sftp_upload sftp_upload
6、配置sshd_config:
vi /etc/ssh/sshd_config
6.1、输入/Subsystem搜索到下列内容,然后注释:
# Subsystem sftp /usr/libexec/openssh/sftp-server
6.2、在文件结尾处添加下面后保存:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
7、设定Chroot目录权限:
chown root:sftp /sftp/sftp_uploadchmod 755 /sftp/sftp_upload
8、建立SFTP用户登入后可写入的目录:
mkdir /sftp/sftp_upload/uploadchown sftp_upload:sftp /sftp/sftp_upload/uploadchmod 755 /sftp/sftp_upload/upload
9、输入命令:
setenforce 0
10、重启sshd服务:
service sshd restart
11、ifcong查询ip,进行登录:
sftp sftp_upload@localhost
二、设置免密登录
(本质是将需要登录的服务器的公钥数据加载到需要免密登录的服务器的authorized_keys文件中。【实际是配置ssh免密】)
1.在需要连接sftp的服务器上执行,(注意选择好使用用户)
ssh-keygen -t rsa
回车两次生成rsa公私钥文件,可打开/home/用户/.ssh/文件夹查看,复制id_rsa.pub内容准备。
2.在部署sftp服务器上,选择将要进行免密连接的用户,打开/home/用户/.ssh/文件夹,新建一个名为authorized_keys的文件,将复制过来的id_rsa.pub中的内容增加到authorized_keys文件中。
(如没有则新建文件即可,注意将authorized_keys权限设置为600,.ssh文件夹设置为700)
接下来就可以
sftp sftp_upload@192.145.xx.xx
直接进行登录了。