当前位置 主页 > 技术大全 >

    linux系统,如何在Linux上开启远程登录并限制外部访问

    栏目:技术大全 时间:2024-12-18 17:11



    在Linux上开启远程登录并限制外部访问的操作:
     
    1. 安装和配置SSH服务
     
    首先,确保SSH服务已安装并运行。在大多数Linux发行版中,SSH服务默认已安装。如果未安装,可以使用包管理器进行安装。
     
    Debian/Ubuntu:
     
    sudo apt update
    sudo apt install opensshserver
     
     
    CentOS/RHEL:
     
    sudo yum install opensshserver
     
     
    启动并启用SSH服务:
     
    sudo systemctl start sshd
    sudo systemctl enable sshd
     
     
    2. 配置防火墙
     
    使用`firewalld`或`iptables`等防火墙工具来限制对SSH端口的访问。
     
    使用`firewalld`(适用于CentOS/RHEL和某些Debian衍生版):
     
    启用并启动firewalld
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
     
    开放SSH端口(默认22)
    sudo firewallcmd permanent addservice=ssh
     
    拒绝所有其他IP地址的SSH访问(只允许特定IP)
    sudo firewallcmd permanent addrichrule=rule family=ipv4 source address=192.168.1.100/32 port port=22 protocol=tcp accept
    sudo firewallcmd permanent addrichrule=rule family=ipv4 port port=22 protocol=tcp drop
     
    重新加载防火墙配置
    sudo firewallcmd reload
     
     
    使用`iptables`:
     
    开放SSH端口(默认22)并允许特定IP访问
    sudo iptables A INPUT p tcp dport 22 s 192.168.1.100 j ACCEPT
     
    拒绝所有其他IP地址的SSH访问
    sudo iptables A INPUT p tcp dport 22 j DROP
     
    保存iptables配置(对于Debian/Ubuntu,使用iptablespersistent)
    sudo apt install iptablespersistent
    sudo netfilterpersistent save
     
    对于CentOS/RHEL,使用service命令或systemctl命令保存配置
    sudo service iptables save
    或者
    sudo systemctl save iptables.service
     
     
    3. 配置SSH配置文件
     
    编辑SSH配置文件`/etc/ssh/sshd_config`,进一步限制访问并增强安全性。
     
     
    sudo nano /etc/ssh/sshd_config
     
     
    进行以下修改:
     
    限制允许的IP地址:
    bash
      AllowUsers user@192.168.1.100
     
      或者,使用`Match`块来限制特定IP地址:
    bash
      Match Address 192.168.1.100
          AllowUsers user
     
     
    禁用密码认证,启用公钥认证:
    bash
      PasswordAuthentication no
      ChallengeResponseAuthentication no
      UsePAM no
     
     
    更改SSH端口(可选):
    bash
      Port 2222
     
      如果更改了端口,请确保防火墙规则也相应更新。
     
    限制SSH会话数:
    bash
      MaxSessions 2
     
     
    禁用root用户登录:
    bash
      PermitRootLogin no
     
     
    保存并退出编辑器,然后重启SSH服务:
     
    sudo systemctl restart sshd
     
     
    4. 验证配置
     
    确保SSH服务正在运行,并且只能从允许的IP地址访问:
     
    sudo systemctl status sshd
     
     
    尝试从不同的IP地址连接SSH,确保只有允许的IP地址能够成功连接。
     
     
     
    通过配置SSH服务、防火墙规则和SSH配置文件,可以有效地开启远程登录并限制外部访问。这些措施将大大提高Linux系统的安全性,减少潜在的安全威胁。务必定期审查和调整这些配置,以适应不断变化的网络环境和安全需求。