linux服务器创建sftp免密登录
搭建sftp服务器
服务端设置
1.创建 sftpgroup组
命令: groupadd sftpgroup
2.创建一个用户 wlzjyw,同时修改zjyw的密码
命令:useradd wlzjyw
命令:passwd wlzjyw
3.创建一个用户 gdyjf,同时修改 gdy jf的密码
命令:useradd gdyjf
命令:passwd gdyjf
4.将用户gdyjf的附加组改为sftpgroup组中
命令: usermod -G sftpgroup gdyjf
5.在不改变 wlzjyw用户附加组的情况下,为其添加到 sftpgroup附加组中
命令:usermod -a -G sftpgroup zjyw
6.编辑配置文件/etcssh/hdconfig
命令:vi /etc/ssh/sshd_config
找到文件中的此句: Subsystem sftp /usr/libexec/opensshsftp-server,用#符号注释掉,并在文件最后面添加如下几行内容然后保存。
Subsystem sftp internal-sftp
Match User gdyjf
ChrootDirectory /home/gdyjf
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
7.设置zjyw用 Chroot户的目录权限。
命令: chown root:wlzjyw /home/wlzjyw
命令: chmod 755 /home/wlzjyw
设置 gdyjf用户的Chroot目录权限。
命令:chown root:sftpgroup /home/gdyjf
命令: chmod 755 /home/gdyjf
8.新建一个目录供用户 dyjf上传文件,这个目录所有者为 gdyjf,所有组为 sftpgroup,所有者和所有组均有写入权限:
命令:mkdir -p /home/gdyif/zjyw/upload
命令:mkdir /home/gdyjf/zjyw/download
命令:chown gdyjf:sftpgroup /home/gdyjf/zjyw/upload
命令:chmod 770 /home/gdyjf/zjyw/upload
命令:chown gdyjf:sftpgroup /home/gdyjf/zjyw/download
命令:chmod 770 /home/gdyjf/zjyw/download
9.重启服务端。
命令:systemctl restart sshd
在客户端执行以下指令测试是否用密码能登陆上
命令:sftp wlzjyw@IP
以下是在客户端设置秘钥对用于免密登录
1.在本地(客户端)的家目录下的.shh录下执行以下命令。
命令:ssh-keygen -t rsa
2.执行以下命令将公钥拷贝到服务器上的对应用户家自录下的.ssh录下。
命令:scp id_rsa. pub root@IP:/home/wlzjyw/.ssh
3.在服务端上的.ssh目录下,执行以下爷。
命令: cat idrsa.pub >> authorized_keys(authorizedkeys存在的话)
不存在:cp id_rsa. pub authorized_keys
4.重启sshd服务
命令:systemctl restart sshd
5.客户端免密登录
命令:sftp -oIdentityFile=/本地家目录/.ssh/id_rsa -oPort=22 wlzjyw@IP
或
命令: sftp mysftp@ip