活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

Manjaro系统远程SSH登录配置全攻略从基础设置到安全连接一步步教你实现跨设备远程管理解决常见连接问题

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-14 10:00:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. SSH简介与准备工作

什么是SSH及其作用

SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络上安全地进行网络服务操作。通过SSH,用户可以远程登录到另一台计算机上,执行命令、传输文件,就像直接操作那台计算机一样。SSH通过加密技术确保所有通信的机密性和完整性,有效防止了信息泄露和中间人攻击。

为什么选择SSH进行远程管理

SSH相比其他远程管理工具有以下优势:

• 安全性高:所有数据传输都经过加密,包括密码
• 功能强大:支持命令行操作、文件传输、端口转发等
• 跨平台:几乎所有操作系统都支持SSH客户端
• 轻量高效:资源占用少,连接速度快
• 灵活可配置:可根据需求进行各种安全配置

准备工作:检查系统版本和网络连接

在开始配置SSH之前,我们需要确保系统环境准备就绪:
  1. # 检查Manjaro系统版本
  2. cat /etc/os-release
  3. # 检查内核版本
  4. uname -a
  5. # 检查网络连接
  6. ping -c 4 archlinux.org
  7. # 检查IP地址
  8. ip a
复制代码

确保你的Manjaro系统已连接到网络,并记下你的IP地址,这将用于后续的远程连接。

2. 在Manjaro上安装和启动SSH服务

安装OpenSSH服务器

Manjaro基于Arch Linux,使用pacman作为包管理器。安装OpenSSH服务器非常简单:
  1. # 更新系统软件包
  2. sudo pacman -Syu
  3. # 安装OpenSSH服务器
  4. sudo pacman -S openssh
复制代码

启动并启用SSH服务

安装完成后,我们需要启动SSH服务并设置为开机自启:
  1. # 启动SSH服务
  2. sudo systemctl start sshd
  3. # 设置SSH服务开机自启
  4. sudo systemctl enable sshd
复制代码

检查SSH服务状态

确认SSH服务是否正常运行:
  1. # 检查SSH服务状态
  2. sudo systemctl status sshd
  3. # 如果看到"active (running)"字样,表示服务已成功启动
复制代码

如果服务没有正常启动,可以使用以下命令查看错误日志:
  1. # 查看SSH服务日志
  2. journalctl -u sshd
复制代码

3. SSH基础配置

SSH配置文件位置和基本参数

SSH服务器的主配置文件位于/etc/ssh/sshd_config。在修改前,建议先备份原始配置文件:
  1. # 备份原始配置文件
  2. sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  3. # 使用文本编辑器打开配置文件
  4. sudo nano /etc/ssh/sshd_config
复制代码

以下是配置文件中一些重要的基本参数:
  1. # SSH服务端口,默认为22
  2. Port 22
  3. # 监听的地址,默认监听所有地址
  4. #ListenAddress 0.0.0.0
  5. # 是否允许root用户登录,默认为prohibit-password(禁止密码登录,允许密钥登录)
  6. PermitRootLogin prohibit-password
  7. # 是否允许密码认证,默认为yes
  8. PasswordAuthentication yes
  9. # 是否允许空密码,默认为no
  10. PermitEmptyPasswords no
  11. # 最大认证尝试次数,默认为6
  12. MaxAuthTries 6
  13. # 是否使用DNS解析客户端主机名,默认为yes
  14. UseDNS yes
复制代码

修改默认端口

默认的SSH端口22是攻击者经常扫描的目标,修改为非标准端口可以提高安全性:
  1. # 在配置文件中修改端口
  2. sudo nano /etc/ssh/sshd_config
  3. # 找到Port 22这一行,修改为其他端口,例如:
  4. Port 2222
复制代码

允许root用户登录(可选,不推荐)

出于安全考虑,不建议允许root用户通过SSH直接登录。但如果确实需要,可以修改配置:
  1. # 在配置文件中修改
  2. PermitRootLogin yes
复制代码

更安全的做法是使用普通用户登录,然后通过su或sudo切换到root用户。

重启SSH服务应用配置

修改配置文件后,需要重启SSH服务使配置生效:
  1. # 重启SSH服务
  2. sudo systemctl restart sshd
复制代码

4. 防火墙设置

Manjaro默认防火墙介绍

Manjaro默认不启用防火墙,但用户可以选择安装并配置防火墙来增强系统安全性。常用的防火墙工具有ufw(Uncomplicated Firewall)和firewalld。

配置防火墙允许SSH连接

如果你使用的是ufw防火墙,可以按以下步骤配置:
  1. # 安装ufw
  2. sudo pacman -S ufw
  3. # 启用ufw
  4. sudo ufw enable
  5. # 允许SSH连接(默认端口22)
  6. sudo ufw allow ssh
  7. # 如果你修改了SSH端口,需要允许特定端口
  8. sudo ufw allow 2222/tcp
  9. # 查看防火墙状态
  10. sudo ufw status
复制代码

如果你使用的是firewalld:
  1. # 安装firewalld
  2. sudo pacman -S firewalld
  3. # 启动并启用firewalld
  4. sudo systemctl start firewalld
  5. sudo systemctl enable firewalld
  6. # 允许SSH服务
  7. sudo firewall-cmd --permanent --add-service=ssh
  8. # 如果你修改了SSH端口,需要添加该端口
  9. sudo firewall-cmd --permanent --add-port=2222/tcp
  10. # 重新加载防火墙配置
  11. sudo firewall-cmd --reload
  12. # 查看防火墙状态
  13. sudo firewall-cmd --list-all
复制代码

测试防火墙规则

配置完成后,可以从另一台计算机尝试SSH连接,确认防火墙规则是否正确:
  1. # 使用默认端口连接
  2. ssh username@server_ip
  3. # 使用修改后的端口连接
  4. ssh -p 2222 username@server_ip
复制代码

5. SSH安全连接配置

禁用密码认证,使用密钥认证

密码认证虽然简单,但容易受到暴力破解攻击。使用SSH密钥对认证更加安全。首先,在客户端计算机上生成密钥对:
  1. # 生成RSA密钥对(默认4096位)
  2. ssh-keygen -t rsa -b 4096
  3. # 或者生成更安全的ED25519密钥对
  4. ssh-keygen -t ed25519
复制代码

执行命令后,系统会提示你输入保存密钥的位置(默认为~/.ssh/id_rsa或~/.ssh/id_ed25519)和密码短语(passphrase)。密码短语用于加密私钥,即使私钥文件泄露,没有密码短语也无法使用。

配置公钥认证

生成密钥对后,需要将公钥复制到服务器上:
  1. # 使用ssh-copy-id命令自动复制公钥到服务器
  2. ssh-copy-id -p 2222 username@server_ip
  3. # 如果ssh-copy-id不可用,可以手动复制
  4. # 首先,在客户端查看公钥内容
  5. cat ~/.ssh/id_rsa.pub
  6. # 然后,在服务器上创建并编辑authorized_keys文件
  7. mkdir -p ~/.ssh
  8. chmod 700 ~/.ssh
  9. echo "粘贴你的公钥内容" >> ~/.ssh/authorized_keys
  10. chmod 600 ~/.ssh/authorized_keys
复制代码

禁用root登录

为了提高安全性,建议禁用root用户通过SSH登录:
  1. # 编辑SSH配置文件
  2. sudo nano /etc/ssh/sshd_config
  3. # 修改以下行
  4. PermitRootLogin no
复制代码

使用Fail2ban防止暴力破解

Fail2ban是一款入侵防御软件,可以监控日志文件并根据预设规则禁止可疑IP:
  1. # 安装Fail2ban
  2. sudo pacman -S fail2ban
  3. # 启动并启用Fail2ban
  4. sudo systemctl start fail2ban
  5. sudo systemctl enable fail2ban
  6. # 创建SSH的jail配置
  7. sudo nano /etc/fail2ban/jail.d/sshd.conf
复制代码

添加以下内容:
  1. [sshd]
  2. enabled = true
  3. port = 2222  # 如果修改了SSH端口,请相应更改
  4. filter = sshd
  5. logpath = /var/log/auth.log
  6. maxretry = 3
  7. bantime = 3600
  8. findtime = 600
复制代码

重启Fail2ban服务:
  1. sudo systemctl restart fail2ban
复制代码

6. 跨设备远程管理

从Linux客户端连接

在Linux系统上,通常已预装SSH客户端。连接命令如下:
  1. # 基本连接命令
  2. ssh username@server_ip
  3. # 指定端口连接
  4. ssh -p 2222 username@server_ip
  5. # 使用密钥认证连接
  6. ssh -i ~/.ssh/private_key username@server_ip
  7. # 使用X11转发(允许运行图形界面应用)
  8. ssh -X username@server_ip
复制代码

从Windows客户端连接(使用PuTTY等工具)

Windows系统没有内置SSH客户端,可以使用以下工具:

1. PuTTY

• 下载并安装PuTTY:https://www.putty.org/
• 打开PuTTY,输入服务器IP和端口
• 在Connection > SSH > Auth中配置私钥(需要将OpenSSH私钥转换为PuTTY格式)
• 点击Open连接

2. Windows Terminal + OpenSSH

Windows 10/11可以安装OpenSSH客户端:
  1. # 安装OpenSSH客户端
  2. Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
  3. # 使用方法与Linux相同
  4. ssh username@server_ip
复制代码

3. MobaXterm

MobaXterm是一款功能强大的增强型终端,集成了SSH客户端、X服务器和其他网络工具:

• 下载并安装MobaXterm:https://mobaxterm.mobatek.net/
• 打开MobaXterm,点击”Session”按钮
• 选择”SSH”,输入服务器IP和端口
• 点击”OK”连接

从macOS客户端连接

macOS系统内置了SSH客户端,使用方法与Linux相同:
  1. # 基本连接命令
  2. ssh username@server_ip
  3. # 指定端口连接
  4. ssh -p 2222 username@server_ip
复制代码

也可以使用图形界面工具如Termius或Royal TSX。

从移动设备连接(Android/iOS)

1. Android设备

推荐使用Termius或JuiceSSH应用:

• 从Google Play安装Termius或JuiceSSH
• 打开应用,添加新主机
• 输入服务器IP、端口和用户名
• 配置密钥或密码认证
• 保存并连接

2. iOS设备

推荐使用Termius或Prompt应用:

• 从App Store安装Termius或Prompt
• 打开应用,添加新主机
• 输入服务器IP、端口和用户名
• 配置密钥或密码认证
• 保存并连接

7. SSH高级配置

配置SSH隧道

SSH隧道(端口转发)允许你通过SSH连接安全地转发网络流量:

1. 本地端口转发

将本地端口转发到远程服务器:
  1. # 将本地8080端口转发到远程服务器的80端口
  2. ssh -L 8080:localhost:80 username@server_ip
  3. # 访问本地8080端口相当于访问远程服务器的80端口
  4. curl http://localhost:8080
复制代码

2. 远程端口转发

将远程端口转发到本地计算机:
  1. # 将远程服务器的8080端口转发到本地计算机的80端口
  2. ssh -R 8080:localhost:80 username@server_ip
复制代码

3. 动态端口转发(SOCKS代理)

创建SOCKS代理:
  1. # 创建本地SOCKS代理,监听1080端口
  2. ssh -D 1080 username@server_ip
  3. # 配置浏览器使用localhost:1080作为SOCKS代理
复制代码

设置SSH代理转发

SSH代理转发允许你通过中间服务器连接到其他服务器,而无需将私钥存储在中间服务器上:
  1. # 启用代理转发连接
  2. ssh -A username@intermediate_server
  3. # 从中间服务器连接到目标服务器
  4. ssh username@target_server
复制代码

也可以在SSH配置文件中永久启用:
  1. Host intermediate_server
  2.   HostName intermediate_server_ip
  3.   User username
  4.   ForwardAgent yes
复制代码

使用SSH配置文件管理多连接

SSH客户端配置文件(~/.ssh/config)可以简化连接命令并保存常用设置:
  1. # 创建或编辑SSH配置文件
  2. nano ~/.ssh/config
复制代码

添加以下内容:
  1. # 默认设置
  2. Host *
  3.   User username
  4.   Port 2222
  5.   IdentityFile ~/.ssh/id_rsa
  6. # 服务器1
  7. Host server1
  8.   HostName server1_ip
  9.   User user1
  10. # 服务器2
  11. Host server2
  12.   HostName server2_ip
  13.   Port 22
  14.   IdentityFile ~/.ssh/server2_key
复制代码

使用配置文件后,连接命令简化为:
  1. # 连接到server1
  2. ssh server1
  3. # 连接到server2
  4. ssh server2
复制代码

限制特定用户访问

可以通过AllowUsers或AllowGroups指令限制哪些用户或用户组可以通过SSH登录:
  1. # 编辑SSH配置文件
  2. sudo nano /etc/ssh/sshd_config
  3. # 只允许特定用户登录
  4. AllowUsers user1 user2 user3
  5. # 或者只允许特定用户组的用户登录
  6. AllowGroups sshusers
复制代码

然后重启SSH服务:
  1. sudo systemctl restart sshd
复制代码

8. 常见连接问题及解决方案

连接被拒绝问题

问题现象:连接时提示”Connection refused”错误。

可能原因及解决方案:

1. SSH服务未运行“`bash检查SSH服务状态sudo systemctl status sshd

SSH服务未运行“`bash

sudo systemctl status sshd

# 如果未运行,启动服务
   sudo systemctl start sshd
  1. 2. **防火墙阻止了连接**
  2.    ```bash
  3.    # 检查防火墙状态
  4.    sudo ufw status
  5.    # 或
  6.    sudo firewall-cmd --list-all
  7.    
  8.    # 允许SSH端口
  9.    sudo ufw allow ssh
  10.    # 或
  11.    sudo firewall-cmd --permanent --add-service=ssh
  12.    sudo firewall-cmd --reload
复制代码

1. SSH监听地址配置错误“`bash检查SSH监听地址sudo ss -tlnp | grep sshd

SSH监听地址配置错误“`bash

sudo ss -tlnp | grep sshd

# 如果只监听localhost,修改配置文件
   sudo nano /etc/ssh/sshd_config
   # 修改或添加 ListenAddress 0.0.0.0
  1. 4. **端口不匹配**
  2.    ```bash
  3.    # 确认SSH服务端口
  4.    sudo ss -tlnp | grep sshd
  5.    
  6.    # 使用正确端口连接
  7.    ssh -p port_number username@server_ip
复制代码

认证失败问题

问题现象:连接时提示”Authentication failed”错误。

可能原因及解决方案:

1. 密码错误确认输入的密码正确注意大小写和特殊字符
2. 确认输入的密码正确
3. 注意大小写和特殊字符
4. 密钥认证配置错误“`bash检查服务器上的authorized_keys文件ls -la ~/.ssh/authorized_keys

密码错误

• 确认输入的密码正确
• 注意大小写和特殊字符

密钥认证配置错误“`bash

ls -la ~/.ssh/authorized_keys

# 确保权限正确
   chmod 700 ~/.ssh
   chmod 600 ~/.ssh/authorized_keys

# 检查密钥是否正确添加
   cat ~/.ssh/authorized_keys
  1. 3. **SSH配置禁止了密码认证**
  2.    ```bash
  3.    # 检查SSH配置
  4.    sudo grep "PasswordAuthentication" /etc/ssh/sshd_config
  5.    
  6.    # 如果设置为no,修改为yes
  7.    sudo nano /etc/ssh/sshd_config
  8.    PasswordAuthentication yes
  9.    
  10.    # 重启SSH服务
  11.    sudo systemctl restart sshd
复制代码

1. 账户被锁定“`bash检查账户状态sudo pam_tally2 –user username

账户被锁定“`bash

sudo pam_tally2 –user username

# 解锁账户
   sudo pam_tally2 –user username –reset
  1. ### 连接超时问题
  2. **问题现象**:连接时长时间无响应,最终超时。
  3. **可能原因及解决方案**:
  4. 1. **网络问题**
  5.    ```bash
  6.    # 检查网络连通性
  7.    ping server_ip
  8.    
  9.    # 检查路由
  10.    traceroute server_ip
复制代码

1. 服务器负载过高# 检查服务器负载(如果有其他访问方式)
top
htop
2. SSH服务配置问题“`bash检查SSH服务日志sudo journalctl -u sshd

服务器负载过高
  1. # 检查服务器负载(如果有其他访问方式)
  2. top
  3. htop
复制代码

SSH服务配置问题“`bash

sudo journalctl -u sshd

# 检查是否有MaxStartups限制
   sudo grep “MaxStartups” /etc/ssh/sshd_config
  1. 4. **使用连接超时参数**
  2.    ```bash
  3.    # 设置连接超时时间
  4.    ssh -o ConnectTimeout=10 username@server_ip
复制代码

权限问题

问题现象:连接成功但无法执行某些操作或访问某些文件。

可能原因及解决方案:

1. 文件权限不正确“`bash检查SSH相关文件权限ls -la ~/.ssh/

文件权限不正确“`bash

ls -la ~/.ssh/

# 设置正确权限
   chmod 700 ~/.ssh
   chmod 600 ~/.ssh/id_rsa
   chmod 644 ~/.ssh/id_rsa.pub
   chmod 600 ~/.ssh/authorized_keys
  1. 2. **SELinux或AppArmor限制**
  2.    ```bash
  3.    # 检查SELinux状态(如果启用)
  4.    sestatus
  5.    
  6.    # 临时禁用SELinux(测试用)
  7.    sudo setenforce 0
  8.    
  9.    # 检查AppArmor状态
  10.    sudo aa-status
复制代码

1. 用户权限不足“`bash检查用户权限id

用户权限不足“`bash

id

# 使用sudo提升权限
   sudo command_to_run
  1. ### 网络问题
  2. **问题现象**:连接不稳定或频繁断开。
  3. **可能原因及解决方案**:
  4. 1. **网络不稳定**
  5.    ```bash
  6.    # 检查网络质量
  7.    ping -c 20 server_ip
  8.    
  9.    # 检查丢包率
  10.    mtr server_ip
复制代码

1. SSH会话超时# 在客户端配置保持连接
echo "ServerAliveInterval 60" >> ~/.ssh/config
echo "ServerAliveCountMax 3" >> ~/.ssh/config
2. NAT超时如果通过NAT连接,可能需要调整NAT设备的超时设置或者使用ServerAliveInterval保持连接活跃
3. 如果通过NAT连接,可能需要调整NAT设备的超时设置
4. 或者使用ServerAliveInterval保持连接活跃
5. 使用Mosh替代SSH“`bash安装Moshsudo pacman -S mosh

SSH会话超时
  1. # 在客户端配置保持连接
  2. echo "ServerAliveInterval 60" >> ~/.ssh/config
  3. echo "ServerAliveCountMax 3" >> ~/.ssh/config
复制代码

NAT超时

• 如果通过NAT连接,可能需要调整NAT设备的超时设置
• 或者使用ServerAliveInterval保持连接活跃

使用Mosh替代SSH“`bash

sudo pacman -S mosh

# 在服务器上安装Mosh
   sudo pacman -S mosh

# 使用Mosh连接
   mosh username@server_ip
  1. ## 9. SSH连接优化
  2. ### 优化SSH连接速度
  3. **1. 禁用DNS反向解析**
  4. SSH默认会反向解析客户端的IP地址,这可能导致连接延迟。禁用此功能可以加快连接速度:
  5. ```bash
  6. # 编辑SSH配置文件
  7. sudo nano /etc/ssh/sshd_config
  8. # 添加或修改以下行
  9. UseDNS no
  10. # 重启SSH服务
  11. sudo systemctl restart sshd
复制代码

2. 使用更快的加密算法

某些加密算法比其他算法更快。可以在SSH配置中指定优先使用更快的算法:
  1. # 编辑SSH配置文件
  2. sudo nano /etc/ssh/sshd_config
  3. # 添加以下行(根据服务器性能选择)
  4. Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
  5. MACs umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
  6. # 重启SSH服务
  7. sudo systemctl restart sshd
复制代码

3. 启用压缩

对于慢速网络,启用压缩可以提高传输速度:
  1. # 编辑SSH配置文件
  2. sudo nano /etc/ssh/sshd_config
  3. # 添加以下行
  4. Compression yes
  5. # 重启SSH服务
  6. sudo systemctl restart sshd
复制代码

或者在客户端连接时启用压缩:
  1. ssh -C username@server_ip
复制代码

使用Mosh提高不稳定网络下的体验

Mosh(Mobile Shell)是SSH的替代品,专为不稳定网络设计。它可以在网络变化时保持连接,并提供更快的响应。

安装Mosh:
  1. # 在Manjaro服务器上安装
  2. sudo pacman -S mosh
  3. # 在客户端上安装(Linux)
  4. sudo pacman -S mosh
  5. # 在Ubuntu/Debian上安装
  6. sudo apt-get install mosh
  7. # 在CentOS/RHEL上安装
  8. sudo yum install mosh
  9. # 在macOS上安装
  10. brew install mosh
复制代码

使用Mosh:
  1. # 基本用法
  2. mosh username@server_ip
  3. # 指定SSH端口
  4. mosh --ssh="ssh -p 2222" username@server_ip
复制代码

Mosh的主要优势:

• 网络切换时保持连接(如WiFi到移动网络)
• 本地回显,减少输入延迟
• 智能预测,提高响应速度

配置SSH保持连接

长时间不活动的SSH连接可能会被服务器或网络设备断开。可以通过以下方式保持连接活跃:

1. 服务器端配置
  1. # 编辑SSH配置文件
  2. sudo nano /etc/ssh/sshd_config
  3. # 添加或修改以下行
  4. ClientAliveInterval 60
  5. ClientAliveCountMax 3
  6. # 重启SSH服务
  7. sudo systemctl restart sshd
复制代码

2. 客户端配置
  1. # 编辑客户端SSH配置文件
  2. nano ~/.ssh/config
  3. # 添加以下行
  4. Host *
  5.   ServerAliveInterval 60
  6.   ServerAliveCountMax 3
复制代码

3. 使用autossh自动重连

autossh可以监控SSH连接并在断开时自动重连:
  1. # 安装autossh
  2. sudo pacman -S autossh
  3. # 使用autossh连接
  4. autossh -M 20000 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" username@server_ip
复制代码

10. 总结与最佳实践

SSH安全最佳实践

1. 使用密钥认证而非密码认证禁用密码认证,只允许密钥认证为私钥设置强密码短语
2. 禁用密码认证,只允许密钥认证
3. 为私钥设置强密码短语
4. 修改默认端口避免使用默认的22端口选择高位端口(1024以上)
5. 避免使用默认的22端口
6. 选择高位端口(1024以上)
7. 限制用户访问使用AllowUsers或AllowGroups限制可登录用户禁止root用户直接登录
8. 使用AllowUsers或AllowGroups限制可登录用户
9. 禁止root用户直接登录
10. 使用Fail2ban防止暴力破解监控SSH日志并自动禁止可疑IP设置合理的重试次数和禁止时间
11. 监控SSH日志并自动禁止可疑IP
12. 设置合理的重试次数和禁止时间
13. 定期更新系统# 定期更新系统软件包
sudo pacman -Syu
14. 使用防火墙限制访问只允许特定IP访问SSH端口使用端口敲门(Port Knocking)技术
15. 只允许特定IP访问SSH端口
16. 使用端口敲门(Port Knocking)技术

使用密钥认证而非密码认证

• 禁用密码认证,只允许密钥认证
• 为私钥设置强密码短语

修改默认端口

• 避免使用默认的22端口
• 选择高位端口(1024以上)

限制用户访问

• 使用AllowUsers或AllowGroups限制可登录用户
• 禁止root用户直接登录

使用Fail2ban防止暴力破解

• 监控SSH日志并自动禁止可疑IP
• 设置合理的重试次数和禁止时间

定期更新系统
  1. # 定期更新系统软件包
  2. sudo pacman -Syu
复制代码

使用防火墙限制访问

• 只允许特定IP访问SSH端口
• 使用端口敲门(Port Knocking)技术

定期维护和检查

1. 定期检查SSH日志“`bash查看SSH登录日志sudo journalctl -u sshd

定期检查SSH日志“`bash

sudo journalctl -u sshd

# 查看失败的登录尝试
   sudo grep “Failed password” /var/log/auth.log
  1. 2. **定期审查授权密钥**
  2.    ```bash
  3.    # 检查authorized_keys文件
  4.    cat ~/.ssh/authorized_keys
  5.    
  6.    # 移除不再使用的密钥
复制代码

1. 定期更新SSH配置跟踪SSH安全最佳实践根据需要调整配置参数
2. 跟踪SSH安全最佳实践
3. 根据需要调整配置参数
4. 监控系统资源使用“`bash检查SSH进程资源使用ps aux | grep sshd

定期更新SSH配置

• 跟踪SSH安全最佳实践
• 根据需要调整配置参数

监控系统资源使用“`bash

ps aux | grep sshd

# 检查系统负载
   top
  1. ### 备份重要配置
  2. 1. **备份SSH配置文件**
  3.    ```bash
  4.    # 备份SSH服务器配置
  5.    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%Y%m%d)
  6.    
  7.    # 备份SSH客户端配置
  8.    cp ~/.ssh/config ~/.ssh/config.bak.$(date +%Y%m%d)
复制代码

1. 备份SSH密钥“`bash备份SSH主机密钥sudo cp -r /etc/ssh/ /path/to/backup/location/

备份SSH密钥“`bash

sudo cp -r /etc/ssh/ /path/to/backup/location/

# 备份用户SSH密钥
   cp -r ~/.ssh/ /path/to/backup/location/
  1. 3. **备份防火墙规则**
  2.    ```bash
  3.    # 备份ufw规则
  4.    sudo cp /etc/ufw/*.rules /path/to/backup/location/
  5.    
  6.    # 备份firewalld规则
  7.    sudo cp -r /etc/firewalld/ /path/to/backup/location/
复制代码

通过遵循本指南中的步骤和建议,你应该能够在Manjaro系统上成功配置安全、可靠的SSH远程访问。记住,安全是一个持续的过程,定期审查和更新你的配置是保持系统安全的关键。
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则