温馨提示×

Linux SSH命令如何限制访问权限

小樊
85
2024-11-15 11:39:54
栏目: 智能运维

在Linux中,SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上安全地进行远程登录和数据传输

  1. 使用密钥对进行身份验证: 为了限制访问权限,建议使用SSH密钥对进行身份验证,而不是使用密码。这样可以避免密码泄露导致的未经授权的访问。要设置密钥对,请按照以下步骤操作:

    a. 在本地计算机上生成一个SSH密钥对(如果尚未生成):

    ssh-keygen -t rsa -b 2048
    

    b. 将公钥(默认为~/.ssh/id_rsa.pub)复制到远程服务器的~/.ssh/authorized_keys文件中。你可以使用以下命令将公钥追加到远程服务器的授权密钥文件中:

    ssh-copy-id user@remote_host
    

    c. 确保远程服务器上的SSH目录和文件具有正确的权限。通常,建议将目录权限设置为700,将文件权限设置为600:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  2. 配置SSH服务器以限制访问: 编辑远程服务器上的SSH配置文件(通常位于/etc/ssh/sshd_config),并根据需要添加或修改以下设置:

    a. 限制允许通过SSH连接的客户端IP地址:

    AllowUsers user1@example.com user2@example.com
    

    b. 限制特定端口的SSH访问:

    Port 2222
    

    c. 禁用root远程登录:

    PermitRootLogin no
    

    d. 启用公钥身份验证:

    PasswordAuthentication no
    

    e. 设置会话超时时间:

    ClientAliveInterval 300
    ClientAliveCountMax 0
    

    f. 限制并发连接数:

    MaxStartups 10
    

    g. 启用TCP Wrapping(防止TCP SYN Flood攻击):

    UseTCPWrappers yes
    

    在对SSH配置文件进行更改后,请重新启动SSH服务以使更改生效:

    sudo systemctl restart sshd
    

通过以上步骤,你可以限制Linux SSH访问权限,提高系统安全性。

0