如何搭建SFTP服务并使用Linux SFTP命令进行文件传输?

要在Linux上搭建SFTP服务,首先需要安装OpenSSH服务器。在Debian/Ubuntu系统上,可以使用以下命令安装:,,``bash,sudo aptget update,sudo aptget install opensshserver,`,,安装完成后,SFTP服务将自动启动。你可以使用sftp命令连接到服务器,,,`bash,sftp 用户名@服务器地址,``

Linux SFTP命令用于在本地和远程服务器之间安全地传输文件,SFTP(SSH File Transfer Protocol)是一种基于SSH协议的安全文件传输协议,它可以在不安全的网络环境中保护文件传输的安全性和完整性,本文将详细介绍如何在Linux系统中搭建SFTP服务。

linux sftp命令_搭建SFTP
(图片来源网络,侵删)

1. 安装OpenSSH

确保你的Linux系统已经安装了OpenSSH,如果没有安装,可以使用以下命令进行安装:

对于基于Debian的系统(如Ubuntu):

sudo aptget update
sudo aptget install opensshserver

对于基于RHEL的系统(如CentOS):

sudo yum update
sudo yum install opensshserver

2. 配置SSH

linux sftp命令_搭建SFTP
(图片来源网络,侵删)

安装完成后,需要对SSH进行配置,编辑/etc/ssh/sshd_config文件,可以使用任何文本编辑器,如vinano

sudo vi /etc/ssh/sshd_config

在配置文件中,找到或添加以下行,并根据实际情况进行修改:

PermitRootLogin:设置为no,禁止root用户登录。

PasswordAuthentication:设置为no,禁止密码认证,使用密钥对进行认证。

PubkeyAuthentication:设置为yes,允许公钥认证。

linux sftp命令_搭建SFTP
(图片来源网络,侵删)

AllowUsers:指定允许登录的用户。

Subsystem:配置SFTP服务。

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers user1 user2
Subsystem sftp internalsftp

保存并退出。

3. 生成密钥对

为每个需要使用SFTP的用户生成密钥对,以用户user1为例:

sudo su user1
sshkeygen

这将在user1的家目录下生成.ssh文件夹,其中包含id_rsa(私钥)和id_rsa.pub(公钥)。

4. 设置权限

将公钥上传到远程服务器的authorized_keys文件中,将公钥复制到剪贴板:

pbcopy < ~/.ssh/id_rsa.pub

在远程服务器上创建.ssh文件夹和authorized_keys文件:

mkdir ~/.ssh
echo '粘贴公钥内容' > ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

5. 启动和测试SFTP

重启SSH服务以应用配置更改:

对于基于Debian的系统:

sudo systemctl restart ssh

对于基于RHEL的系统:

sudo systemctl restart sshd

你可以使用sftp命令连接到远程服务器:

sftp user1@remote_host

输入提示时,使用私钥进行身份验证,连接成功后,你可以使用SFTP命令在本地和远程服务器之间传输文件。

通过以上步骤,你可以在Linux系统中搭建一个安全的SFTP服务,你可以尝试回答以下问题:

1、如何限制SFTP用户只能访问特定目录?

2、如何配置SFTP以禁止用户从服务器下载文件?

答案:

1、要限制SFTP用户只能访问特定目录,可以在/etc/ssh/sshd_config文件中使用ChrootDirectory选项,要将用户user1限制在/var/www/html目录中,可以添加以下行:

Match User user1
    ChrootDirectory /var/www/html
    ForceCommand internalsftp

2、要配置SFTP以禁止用户从服务器下载文件,可以通过在用户家目录下创建一个空的.ssh/rc文件,并在其中添加以下内容来实现:

#!/bin/bash
echo "This account is not allowed to download files."
exit 1

使文件可执行:

chmod +x ~/.ssh/rc

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/578836.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-08-07 20:56
Next 2024-08-07 21:01

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入