ssh内置的服务

(1)scp命令:远程全量拷贝(secure copy),【加密】的拷贝

SCP命令参数:
    -P 端口
    -r 递归
    -p 保持属性
    -l 限制速度

(2)sftp远程传输

不限制用户登陆的情况:

Subsystem       sftp    internal-sftp

限制的情况:

Subsystem       sftp    internal-sftp
Match Group sftpgroup
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp:


ll /data/sftp/
总用量 12
drwxr-xr-x 3 root sftpgroup 4096 7月  25 12:55 datauser
drwxr-xr-x 3 root sftpgroup 4096 7月  25 12:43 fycdata
drwxr-xr-x 3 root sftpgroup 4096 7月  25 12:56 mysftp
权限一定要是755 root:属组

配置解释:

Subsystem sftp internal-sftp
这条指令指定了SFTP服务使用的子系统。internal-sftp是OpenSSH自带的一个内置SFTP服务器,这意味着不需要额外的SFTP服务器软件,SSH服务器本身就可以处理SFTP请求。
Match Group sftpgroup
Match指令用于条件匹配,这里它指定了接下来的配置将应用于属于sftpgroup用户组的所有用户。sftpgroup应该是一个预先在系统中定义的用户组,其成员将受到这些特定设置的限制。
X11Forwarding no
此指令禁止通过SSH连接进行X11转发。X11转发允许用户通过SSH连接运行图形界面程序,并在本地机器上显示。在这个上下文中,因为关注的是SFTP服务,不需要图形界面,所以将其禁用。
AllowTcpForwarding no
此指令禁止通过SSH连接进行TCP端口转发。端口转发允许用户通过SSH连接将远程主机的端口映射到本地机器,或者相反。出于安全考虑,SFTP服务通常不需要这种功能,因此将其禁用。
ChrootDirectory /data/sftp/%u
ChrootDirectory指令用于将用户的根目录(文件系统的根)更改到指定的目录,%u是一个占位符,代表用户名。这意味着当用户通过SFTP登录时,他们将被限制在/data/sftp/用户名目录下,无法访问系统上的其他部分。这是增强安全性的重要措施,因为它限制了用户可以访问的文件系统区域。
ForceCommand internal-sftp
ForceCommand指令强制SSH会话执行指定的命令,而不是用户尝试执行的任何命令。在这里,它设置为internal-sftp,意味着无论用户尝试执行什么命令,都会启动SFTP会话。这对于SFTP-only用户配置非常有用,确保他们无法访问SSH shell或其他命令。
综上所述,这段配置创建了一个安全的SFTP环境,仅允许sftpgroup组的用户访问,并限制他们只能访问特定的目录(/data/sftp/用户名),同时禁止了X11转发和TCP端口转发功能。

ssh服务配置优化

ll /etc/ssh/ssh*
-rw-r--r--. 1 root root     2276 4月  11 2018 /etc/ssh/ssh_config  #ssh配置文件。
-rw-------. 1 root root     3907 4月  11 2018 /etc/ssh/sshd_config #sshd服务端配置文件。
服务配置优化:           
Port 52113                          #使用大于10000的端口
PermitRootLogin no                  #禁止root远程登录,可以su - root,C7需要改yes为no
PermitEmptyPasswords no             #禁止空密码登录,C7默认就是

UseDNS no                           #不使用dns解析,yes改为no
GSSAPIAuthentication no             #禁止连接慢的解决配置
ListenAddress 172.16.1.61:52113     #只允许内网IP连接SSH(172.16.1.0)

results matching ""

    No results matching ""