Linux 下sftp配置之密钥方式登录详解

发布时间:2025-08-21 10:32

无线路由器设置步骤:登录管理页面,更改Wi-Fi密码,设置网络名称和加密方式 #生活技巧# #数码产品使用技巧# #3C配件安装教学#

这篇文章主要介绍了Linux 下sftp配置之密钥方式登录详解的相关资料,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器,需要的朋友可以参考下

linux下sftp配置之密钥方式登录

由于vsftp采用明文传输,用户名密码可通过抓包得到,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器。由于sftp使用的是ssh协议,需保证用户只能使用sftp,不能ssh到机器进行操作,且使用密钥登陆、不是22端口。

1. 创建sftp服务用户组,创建sftp服务根目录

?

1

groupadd sftp

#此目录及上级目录的所有者必须为root,权限不高于755,此目录的组最好设定为sftp

?

1

2

3

mkdir /data/sftp

chown -r root:sftp /data/sftp

chmod -r 0755 /data/sftp

2. 修改sshd配置文件

?

1

2

cp /etc/ssh/sshd_config,_bk} 

sed -i 's@#port 22@port 22@' /etc/ssh/sshd_config #保证原来22端口可以

?

1

vi /etc/ssh/sshd_config

注释掉/etc/ssh/sshd_config文件中的此行代码:

?

1

subsystem   sftp  /usr/libexec/openssh/sftp-server

添加如下代码:

?

1

2

3

4

5

6

7

port 2222

subsystem sftp internal-sftp -l info -f auth

match group sftp

chrootdirectory /data/sftp/%u

x11forwarding no

allowtcpforwarding no

forcecommand internal-sftp -l info -f auth

凡是在用户组sftp里的用户,都可以使用sftp服务;使用sftp服务连接上之后,可访问目录为/data/sftp/username

举个例子:

test是一个sftp组的用户,它通过sftp连接服务器上之后,只能看到/data/sftp/test目录下的内容

test2也是一个sftp组的用户,它通过sftp连接服务器之后,只能看到/data/sftp/test2目录下的内容

3. 创建sftp用户

#此例将创建一个名称为test的sftp帐号

#创建test sftp家目录:test目录的所有者必须是root,组最好设定为sftp,权限不高于755

?

1

2

3

4

mkdir /data/sftp/test

chmod 0755 /data/sftp/test

chown root:sftp /data/sftp/test

useradd -g sftp -s /sbin/nologin test 

创建test用户密钥对:

?

1

2

3

4

在test目录下创建一个可以写的upload目录

?

1

2

mkdir /data/sftp/test/upload

chown -r test:sftp /data/sftp/test/upload

注:sftp服务的根目录的所有者必须是root,权限不能超过755(上级目录也必须遵循此规则),sftp的用户目录所有者也必须是root,且最高权限不能超过755。

4. 测试sftp

?

1

service sshd restart

test用户密钥登陆如下图:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

网址:Linux 下sftp配置之密钥方式登录详解 https://klqsh.com/news/view/174549

相关内容

sftp连接命令密码linux
揭秘Oracle Linux系统运维实战技巧,轻松应对日常挑战!
win11密码登录怎么关闭?如何设置无密码登录?
讲一下生活中简单的加密方式
Linux speedtest
Linux zip 命令
Kindle有VPN设置吗?详细解答与使用指南
Win11密码登录界面怎么去掉?如何实现无密码登录?
告别繁琐!教你轻松设置Windows无密码登录,安全又便捷
find 命令,Linux find 命令详解:在指定目录下查找文件

随便看看