sftp配置

sftp相关配置

最近在搭建企业内部转外部的前置机,中间有文件同步及数据实时接口,特意在服务器与外界之间搭建了前置机,主要作用是隔离服务器与外部网络的安全。操作系统为SUSE 11  ,open-sshd为5.8

服务机配置

以was用户为例

  • 登录到需要应用SFTP客户端的服务器。注:使用需要用到SFTP的用户登录,例如:was用户使用SFTP,则使用was登录
  • 在客户端生成公钥和秘钥:进入到/home/was/.ssh下执行 ssh-keygen -b 2048 -t rsa -f id_rsa,出现提示符一路回车。此刻在.ssh下生成了id_rsa(私钥) id_rsa.pub(公钥)
  • 确认权限:id_rsa (600),id_rsa.pub(644)

前置机配置

以root用户为例

  • 在前置机启动sftp服务:检查rpm -q open-ssh,如果已安装,则启动服务 service sshd restart,一般情况下,安装操作系统时,此服务都已安装
  • 登录到/root/.ssh下创建authorized_keys文件,如果是非root用户,则需要用root用户在该用户的主目录下建立.ssh 并新建authorized_keys文件
  • 将客户端生成的公钥 复制到authorized_keys文件中,如果该文件已有内容,则另起一行粘贴
  • 确认权限:authorized_keys(755或700),/home目录和.ssh都为(755或700)

验证环境

在客户端使用sftp  root@ip       root为服务端的用户名  ip为服务端的ip

第一次登陆出现的提示需要输入:yes

以后不再出现

至此一个简单的sftp客户端与服务端交互已经完成

 

 

转载于:https://my.oschina.net/u/1472482/blog/792639

### 3.1 SFTP 文件上传大小限制的原因及解决方法 SFTP 本身并不直接限制文件上传的大小,但 OpenSSH 服务器的配置或系统资源限制可能导致上传失败。例如,在某些情况下,用户可能会遇到上传大文件时被中断的问题。这种限制通常与用户资源限制(ulimit)有关。可以通过以下方式进行排查和调整: - **检查用户资源限制** 使用 `ulimit -a` 命令可以查看当前用户的资源限制,其中 `file size` 项表示单个文件的最大大小(单位为 KB)。如果该值较低,可以在 `/etc/security/limits.conf` 中为特定用户或用户组设置更高的限制: ``` sftpuser soft fsize 10485760 sftpuser hard fsize 20971520 ``` 上述配置将软限制设置为 10GB,硬限制设置为 20GB。设置完成后,需要重启 SSH 服务以生效: ```bash systemctl restart sshd ``` - **系统内核限制** 某些系统可能通过内核参数限制文件大小。可以通过修改 `/etc/sysctl.conf` 中的 `fs.file-max` 参数来调整系统级别的文件大小限制,并使用以下命令应用更改: ```bash sysctl -p ``` ### 3.2 SFTP 路径限制的原因及解决方法 在 SFTP 配置中,路径限制通常由 `ChrootDirectory` 指令引起。该指令用于将用户限制在其指定的目录中,防止其访问系统其他部分。例如: ``` Match User sftpuser ChrootDirectory /app/iwshome/ftp ForceCommand internal-sftp AllowTcpForwarding no ``` 在上述配置中,用户 `sftpuser` 被限制在其根目录 `/app/iwshome/ftp` 中。需要注意的是,`ChrootDirectory` 所指定的目录及其所有父目录必须由 root 拥有,且不能有写权限,否则 SSH 服务会拒绝连接。用户主目录可以设置为 `/app/iwshome/ftp/home/sftpuser`,并在该目录中赋予用户写权限: ```bash chown root:root /app/iwshome/ftp chmod 755 /app/iwshome/ftp mkdir -p /app/iwshome/ftp/home/sftpuser chown sftpuser:sftpuser /app/iwshome/ftp/home/sftpuser ``` - **目录权限设置** 如果用户在上传文件时提示“权限被拒绝”,应检查目标目录的权限设置。可以使用 `ls -l` 查看目录权限,并使用 `chmod` 或 `chown` 修改权限。例如,为特定用户组增加写权限: ```bash chmod g+w /app/iwshome/ftp/upload ``` 或者更改目录所有者: ```bash chown sftpuser:sftpuser /app/iwshome/ftp/upload ``` ### 3.3 SFTP 用户安全限制与管理 为了进一步提升安全性,可以结合用户组管理,对多个 SFTP 用户进行统一限制。例如,创建一个专用用户组 `sftponly`,并将所有 SFTP 用户加入该组。然后在 SSH 配置中使用 `Match Group` 指令进行统一限制: ``` Match Group sftponly ChrootDirectory /app/iwshome/ftp ForceCommand internal-sftp AllowTcpForwarding no ``` 这种方式可以避免为每个用户单独配置,提高可维护性。 此外,可以通过日志记录来监控用户行为。在 `internal-sftp` 指令中添加 `-f AUTH -l INFO` 参数,可以将操作日志记录到系统认证日志中(如 `/var/log/auth.log`): ``` Subsystem sftp internal-sftp -f AUTH -l INFO ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值