Linux搭建sftp服务器指南
记录Linux搭建sftp服务器并配置免密登录的步骤,以红帽7.9操作系统为例。
部署sftp服务
实际上是使用ssh中的sftp服务,以下操作使用root用户
创建sftp用户组
1 |
|
创建sftp用户组中的用户
如将用户名设为sftpupload
1 |
|
修改刚创建用户的密码
1 |
|
创建sftp组用户的家目录
目录可根据实际情况修改,如下面示例
1 |
|
指定sftpupload的家目录为/home/sftp/sftpupload
1 |
|
配置sshd_config
vi /etc/ssh/sshd_config
编辑并在配置末尾添加以下内容
1 |
|
修改目录权限
1 |
|
创建sftp用户登录后可写入的目录
1 |
|
关闭selinux防火墙
1 |
|
重启sshd服务
1 |
|
本地登录测试
1 |
|
输入密码后就成功登录sftp服务器了
配置免密登录
若需要在另一台服务器免密登录部署好的sftp服务器时,则需要通过配置互信。
在需要配置免密登录的服务器上生成公私钥文件
选择一个用户,比如monitor
用户执行
1 |
|
回车两次生成rsa公私钥文件,可以打开/home/用户/.ssh
文件夹下查看(比如这里是/home/monitor/.ssh
),需要复制下面id_rsa.pub
文件中的内容。
sftp服务器上配置对应的公钥
使用root用户登录sftp服务器,可以先创建sftpupload的.ssh
文件夹
1 |
|
将复制过来的id_rsa.pub
中的内容增加到authorized_keys
文件中。
注:需要更改sftpupload下.ssh
和authorized_keys
的属组,因为sftpupload只支持sftp协议
1 |
|
这样就可以在对应服务器上免密登录sftp服务器了
比如monitor用户就可以免密连接至sftp服务器上了
1 |
|
后续若需要在其他新服务器上免密登录sftp服务器,只需生成公私钥文件,并将id_rsa.pub
文件中的内容追加至sftp服务器上/home/sftp/sftpupload/.ssh/authorized_keys
文件中即可。