Linux SSH密钥认证实战:XShell/XFTP免密登录配置与安全优化

发布时间:2026/8/15 7:23:31

Linux SSH密钥认证实战:XShell/XFTP免密登录配置与安全优化
1. 项目概述告别密码拥抱安全与效率每次登录远程服务器都要输入一长串密码是不是觉得既麻烦又不安全尤其是在需要频繁操作、批量管理多台服务器或者使用自动化脚本的场景下密码登录的弊端就更加明显了。今天要聊的这个主题就是解决这个痛点的标准答案在Linux环境下通过SSH公钥私钥对实现免密远程连接。这不仅是运维工程师和开发者的必备技能也是提升日常工作效率、保障系统安全的基础操作。简单来说SSH密钥认证就像是为你和服务器之间配了一把独一无二的“数字钥匙”。你本地保留的私钥是绝不能外泄的“钥匙母版”而放在服务器上的公钥则是可以公开的“锁芯”。当你尝试连接时服务器会用公钥“锁芯”来验证你手中的私钥“母版”是否匹配匹配成功就直接放行整个过程无需输入密码。我们常用的XShell和XFTP这两款Windows下的经典终端与文件传输工具都完美支持这种认证方式。掌握它意味着你可以一键秒连服务器传输文件也无需反复认证脚本执行更是畅通无阻。接下来我会从原理到实操一步步带你完成从生成密钥对到在XShell/XFTP中成功应用的完整过程并分享一些只有踩过坑才知道的细节和技巧。2. 核心原理与方案选型为什么是密钥对在深入操作之前我们有必要先搞清楚背后的逻辑。为什么业界普遍推荐使用密钥对替代密码这不仅仅是图个方便更是一套成熟的安全体系。2.1 密码认证的固有缺陷传统的密码认证方式其安全性完全依赖于密码本身的复杂度。然而它面临几个无法回避的风险暴力破解风险只要服务端口暴露攻击者就可以持续尝试常用密码或字典进行爆破。密码泄露风险密码可能在多个地方重复使用一旦某一处泄露所有服务都可能失守。中间人攻击风险在不安全的网络环境中密码可能在传输过程中被窃听。管理不便对于需要管理数十上百台服务器的场景记住并定期更换所有密码几乎是不可能的任务。2.2 非对称加密与密钥对认证的优势SSH密钥认证基于非对称加密算法通常是RSA或Ed25519。这套体系的核心在于生成一对数学上关联的密钥公钥和私钥。私钥保存在客户端本地必须严格保密绝不通过网络传输。它是你身份的终极证明。公钥可以放心地放置在任何你需要登录的服务器上。即使公钥被他人获取也无法反向推导出私钥。认证流程可以类比为一种“挑战-应答”机制客户端发起连接并告知服务器自己支持密钥认证。服务器检查对应用户目录下的授权文件通常是~/.ssh/authorized_keys找到客户端的公钥。服务器生成一个随机字符串挑战并用客户端的公钥进行加密发送给客户端。客户端收到加密的挑战后使用本地的私钥进行解密。客户端将解密后的原始字符串与另一个会话标识符组合计算出一个哈希值应答发回给服务器。服务器用同样的方式计算哈希值并与客户端发回的进行比对。如果一致则认证通过。这个过程完美规避了密码传输其安全性建立在私钥的保密性和非对称加密算法的强度之上。只要你的私钥不丢认证就是安全的。2.3 工具选型XShell与XFTP的考量为什么选择XShell和XFTP作为客户端示例首先它们在Windows用户中拥有极高的普及率界面友好功能强大。其次它们对SSH密钥的支持非常完善和直观特别适合从图形化界面入门的用户。当然在Linux或macOS上我们通常直接使用OpenSSH命令行工具ssh,scp,sftp其原理和密钥配置方式是完全相通的。本文以Windows图形化工具为例旨在降低操作门槛但所涉及的原理和服务器端配置是跨平台通用的。3. 实操全流程从生成密钥到成功连接理论清晰后我们进入实战环节。整个过程分为三个主要阶段在客户端生成密钥对、将公钥部署到服务器、在客户端工具中配置使用私钥。3.1 第一阶段生成你的专属密钥对你可以在任意一台机器上生成密钥对但通常建议在你的个人工作电脑客户端上生成。这里提供两种主流方法。方法一使用XShell的密钥生成向导推荐新手这是最直观的方式完全在图形界面下完成。打开XShell点击顶部菜单栏的“工具”-“新建用户密钥生成向导”。选择密钥类型在弹出的窗口中你需要选择算法和长度。RSA最通用、兼容性最好的算法。密钥长度建议选择2048位或4096位。2048位目前仍是安全主流4096位则更安全但连接建立稍慢。对于绝大多数场景2048位完全足够。Ed25519 newer更安全、更快、密钥更短。如果服务器端的OpenSSH版本较新通常6.5以上优先推荐使用它兼容性也越来越好。生成密钥对点击“下一步”程序会自动生成。为了增加安全性强烈建议为你的私钥设置一个“密钥密码”。这个密码用于加密保护你本地的私钥文件。即使私钥文件不慎泄露没有这个密码也无法使用。当然如果觉得麻烦也可以留空但会降低安全性。保存公钥生成完成后向导会显示你的公钥内容一长串以ssh-rsa AAAAB3...或ssh-ed25519 AAAAC3...开头的文本。点击“保存为文件”将其保存为一个文本文件例如my_id_rsa.pub。同时XShell也会自动将私钥保存到其默认位置。注意通过XShell生成的私钥格式是它自家的.ppk格式。这对于使用XShell和配套的XFTP、XAgent非常方便。但如果你后续想用其他SSH客户端如PuTTY, OpenSSH命令行可能需要转换格式。方法二使用OpenSSH命令行生成通用性强如果你习惯命令行或者需要在Linux/macOS客户端上操作这是标准方法。打开终端Windows 10/11可使用WSL或Git Bash执行以下命令ssh-keygen -t rsa -b 2048 -C your_emailexample.com-t rsa指定密钥类型为RSA。可以用-t ed25519生成Ed25519密钥。-b 2048指定密钥长度为2048位。-C添加一个注释通常用邮箱便于标识密钥所有者。命令执行后会询问你保存路径直接回车使用默认路径~/.ssh/id_rsa。接着会询问你是否设置密钥密码passphrase同样为了安全建议设置。生成成功后你会在~/.ssh/目录下得到两个文件id_rsa你的私钥文件权限必须是600-rw-------。id_rsa.pub你的公钥文件内容是需要上传到服务器的。实操心得无论用哪种方法生成密钥后请务必备份你的私钥和记住的密钥密码如果设置了。私钥丢失等同于丢失了所有相关服务器的访问权限。一个安全的做法是将加密后的私钥即设置了密码的备份到加密的U盘或密码管理器中。公钥则无需保密可以随意分发。3.2 第二阶段部署公钥到目标服务器这是让服务器认识你的关键一步。你需要将上一步生成的公钥内容添加到服务器上对应用户的~/.ssh/authorized_keys文件中。方法一使用ssh-copy-id命令最便捷如果你的客户端是Linux/macOS或者Windows下装有OpenSSH客户端这是首选方法。它自动处理目录创建、权限设置等琐事。ssh-copy-id -i ~/.ssh/id_rsa.pub usernameserver_ip执行后输入一次服务器用户的密码即可自动完成部署。这条命令的本质就是帮你把公钥内容追加到服务器~/.ssh/authorized_keys文件的末尾。方法二手动复制粘贴通用方法如果无法使用ssh-copy-id可以手动操作。获取公钥内容用文本编辑器打开你的公钥文件.pub复制全部内容。登录服务器先用密码方式登录到你的服务器。创建或修改授权文件# 确保.ssh目录存在且权限正确 mkdir -p ~/.ssh chmod 700 ~/.ssh # 将公钥内容追加到authorized_keys文件 echo “你复制的公钥内容” ~/.ssh/authorized_keys # 设置authorized_keys文件的权限至关重要 chmod 600 ~/.ssh/authorized_keys这里必须强调权限问题.ssh目录权限必须是700authorized_keys文件权限必须是600。权限设置错误是导致密钥认证失败的最常见原因之一。方法三通过XFTP上传适合纯图形化操作如果你已经能用密码登录XFTP也可以用XFTP完成。用密码登录服务器。在服务器端进入你的家目录/home/your_username。如果看不到.ssh文件夹可能需要开启显示隐藏文件。如果不存在.ssh文件夹就新建一个并右键属性将其权限设置为700。进入.ssh文件夹查看是否存在authorized_keys文件。如果没有新建一个文本文件重命名为authorized_keys。用记事本等工具打开你的公钥文件复制内容。再通过XFTP双击服务器上的authorized_keys文件进行编辑XFTP通常会调用本地默认文本编辑器将公钥内容粘贴到文件末尾保存。最后右键点击服务器上的authorized_keys文件属性将权限修改为600。3.3 第三阶段在XShell与XFTP中配置使用私钥公钥部署成功后就可以在客户端配置使用私钥了。在XShell中配置会话使用密钥登录在XShell中新建或编辑一个已有的会话。在“连接”分类中填写好主机IP和端口。切换到“用户身份验证”分类。方法选择“Public Key”。在“用户密钥”栏点击“浏览”按钮然后选择“导入”。找到你之前生成的私钥文件如果是XShell生成的默认在我的文档的NetSarang目录下如果是OpenSSH生成的id_rsa需要选择“所有文件”才能看到。选择并输入你创建密钥时设置的密码如果有。点击确定保存会话。下次连接时XShell就会自动使用私钥进行认证无需输入密码。在XFTP中配置会话使用密钥登录XFTP的配置与XShell高度协同非常方便。新建或编辑XFTP会话。主机、端口、用户名填写正确。在“身份验证”部分方法同样选择“Public Key”。点击“用户密钥”右侧的设置按钮。弹出的窗口与XShell类似点击“导入”选择你的私钥文件并输入密码。保存会话。这样无论是通过XShell打开终端还是通过XFTP传输文件都实现了免密认证。重要提示如果你在XShell中生成了.ppk密钥那么在XFTP中直接选择这个.ppk文件即可。如果你用的是OpenSSH标准的id_rsa私钥XShell/XFTP也能识别并导入。有时为了最佳兼容性你可能需要使用PuTTY的puttygen.exe工具将id_rsa转换为.ppk格式但新版本的XShell通常无需此步骤。4. 深度配置与权限安全详解仅仅能连接上只是第一步。要让这套机制稳定、安全地工作还需要理解并正确配置一些关键的细节。4.1 服务器端SSH配置优化服务器的/etc/ssh/sshd_config文件控制着SSH服务的行为。修改前请先备份修改后需重启SSH服务sudo systemctl restart sshd。禁用密码登录增强安全当确认所有必要账户都已配置密钥登录后可以彻底关闭密码认证从根本上杜绝暴力破解。PasswordAuthentication no警告在执行此操作前请务必确保你当前的会话是通过密钥登录的并且有另一个已配置好密钥的备用连接方式。否则一旦操作失误你将无法再登录服务器。禁用root用户直接登录最佳实践即使使用密钥也不建议直接用root密钥登录。应该用普通用户登录再通过sudo提权。PermitRootLogin no限制认证尝试次数减少暴力破解的机会。MaxAuthTries 3使用更安全的协议版本禁用老旧不安全的SSHv1。Protocol 24.2 文件与目录权限失败的罪魁祸首SSH协议对权限检查极为严格。服务器端以下文件和目录的权限必须正确~(用户家目录)不能有写权限给组和其他人。建议755(drwxr-xr-x) 或750。~/.ssh目录必须是700(drwx------)。~/.ssh/authorized_keys文件必须是600(-rw-------)。~/.ssh目录下的其他密钥文件如id_rsa私钥必须是600。在客户端你的私钥文件权限也必须严格。在Linux/macOS下私钥文件权限必须是600。在Windows下虽然NTFS权限模型不同但XShell等软件也会进行类似检查。如何检查和修复权限在服务器上使用ls -la ~/和ls -la ~/.ssh/查看权限。如果不对用chmod命令修正chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys # 如果家目录权限过于开放如777也需要修正 chmod 755 ~ # 或 chmod 750 ~4.3 管理多台服务器与多个密钥当你需要管理多台服务器或者为不同用途如公司、个人、Git使用不同密钥时管理就变得重要。使用~/.ssh/config文件客户端这是一个极其好用的配置文件可以为不同的主机定义别名、指定使用的私钥、用户名、端口等。# ~/.ssh/config 示例 Host myserver1 HostName 192.168.1.100 User alice Port 22 IdentityFile ~/.ssh/id_rsa_personal Host myserver2 HostName server.company.com User bob Port 2222 IdentityFile ~/.ssh/id_rsa_company配置好后在命令行中只需输入ssh myserver1即可连接它会自动使用指定的私钥和用户。XShell也支持类似的“会话”管理但config文件在跨平台和脚本化方面更有优势。使用ssh-agent管理密钥密码如果你为私钥设置了密码每次连接都要输入会很烦。ssh-agent是一个密钥管理器它可以将解密后的私钥保存在内存中一段时间。在终端中# 启动ssh-agent如果尚未启动 eval $(ssh-agent -s) # 将私钥添加到agent ssh-add ~/.ssh/id_rsa # 输入一次密钥密码之后在当前会话中再连接就无需输入了Windows下的XShell和Git Bash都集成了类似的代理功能。5. 常见问题排查与实战技巧实录即使按照步骤操作也可能会遇到连接失败的情况。下面是我在实际工作中总结的排查清单和技巧。5.1 连接失败问题速查表当出现“Permission denied (publickey)”等错误时请按以下顺序排查排查步骤检查位置命令/方法预期结果/修复措施1. 基础连接客户端ping server_ip或telnet server_ip 22确认网络可达22端口开放。2. 服务状态服务器sudo systemctl status sshd服务状态应为active (running)。3. 认证日志服务器sudo tail -f /var/log/auth.log或/var/log/secure连接时查看实时日志寻找错误原因。4. 公钥是否部署服务器cat ~/.ssh/authorized_keys确认你的公钥内容已正确存在于文件中无多余空格或换行。5. 文件权限服务器ls -la ~/.ssh/.ssh目录权限700authorized_keys文件权限600。6. 家目录权限服务器ls -ld ~家目录不应有过于开放的写权限如组/其他人可写。7. SELinux/AppArmor服务器getenforce(SELinux)如果为Enforcing尝试临时禁用sudo setenforce 0测试或修正上下文restorecon -Rv ~/.ssh。8. 客户端私钥客户端XShell会话属性检查确认“用户身份验证”方法为Public Key且选择的私钥文件路径正确。9. 密钥密码客户端连接时弹出的对话框如果设置了密钥密码确保输入正确。可尝试在XShell的“用户密钥管理者”中重新输入。10. 服务端配置服务器sudo cat /etc/ssh/sshd_config检查PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys未被注释。5.2 高级技巧与避坑指南调试模式连接在客户端使用ssh -vvv userhost命令连接。-vvv会输出最详细的调试信息几乎可以定位到任何问题的根源仔细阅读输出中debug1:开头的行。处理“Too Many Authentication Failures”错误当客户端存在多个密钥而服务器端未配置对应公钥时SSH会依次尝试所有密钥可能导致此错误。解决方法在客户端~/.ssh/config中为特定主机明确指定密钥文件如上文所述或在连接时用-o IdentitiesOnlyyes参数。XFTP突然要求密码如果XFTP之前正常突然又要求密码很可能是会话配置中的私钥路径失效或密码缓存过期。检查会话属性中的密钥路径或重新导入一次私钥。备份与迁移当你更换电脑时需要迁移SSH连接。关键文件是客户端的私钥文件及密码、~/.ssh/config文件以及服务器端的~/.ssh/authorized_keys文件通常不需要动。将私钥和config文件拷贝到新电脑的对应位置即可。密钥轮换出于安全最佳实践应定期如每年更换密钥对。流程是生成新密钥对 - 将新公钥部署到所有服务器追加到authorized_keys - 测试新密钥登录成功 - 从authorized_keys中删除旧公钥 - 安全删除旧私钥。最后关于安全性的个人体会是密钥认证就像给你的数字身份加了一把物理锁。它的便利性建立在严格的管理之上一个强密码保护的私钥配合正确的文件权限和服务器配置才能构建起稳固的防线。我最开始也曾在权限问题上栽过跟头后来养成了在部署完公钥后立刻用ls -la检查权限的习惯。现在这套流程已经成为我初始化任何一台新服务器的标准动作它带来的效率提升和安全保障远超过最初的学习成本。如果你还在频繁输入密码不妨今天就花半小时把它配置好一劳永逸。

相关新闻

Swift本地大模型推理实战:从CoreML到llama.cpp的完整指南

Swift本地大模型推理实战:从CoreML到llama.cpp的完整指南

2026/8/15 7:23:31

1. 从云端到指尖:为什么大模型必须“下凡”?每次看到科技新闻里某某公司又发布了千亿参数的大模型,或者某个云服务商推出了新的AI推理API,我心里总会泛起一丝复杂的情绪。一方面,技术的飞速发展确实令人兴奋&#xff1…

渗透测试靶机IP寻址全攻略:从网络原理到实战排查

渗透测试靶机IP寻址全攻略:从网络原理到实战排查

2026/8/15 7:13:30

1. 靶机IP检测问题:一个看似简单却暗藏玄机的“入门”挑战玩VulnHub、HackTheBox这类渗透测试靶场的朋友,估计都遇到过这个让人头大的开局问题:辛辛苦苦下载了靶机镜像,导入虚拟机软件,启动后却发现,靶机的…

React与Vue框架选择:从心智模型到工程实践的成本分析

React与Vue框架选择:从心智模型到工程实践的成本分析

2026/8/15 7:13:30

最近在几个技术社区里,看到不少关于“React是不是不行了”、“Vue现在是不是比React更火”的讨论。尤其是在一些中小型公司、独立开发者和新启动的项目里,选择Vue的比例似乎越来越高。这让我想起几年前,React凭借其函数式编程理念和庞大的生态…

10MB 的华硕笔记本控制工具 G-Helper:一场对 Armoury Crate 的无声接管

10MB 的华硕笔记本控制工具 G-Helper:一场对 Armoury Crate 的无声接管

2026/8/15 8:23:33

10MB 的华硕笔记本控制工具 G-Helper:一场对 Armoury Crate 的无声接管 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivob…

华硕笔记本控制终极指南:用免费的G-Helper 3步告别卡顿的奥创中心

华硕笔记本控制终极指南:用免费的G-Helper 3步告别卡顿的奥创中心

2026/8/15 8:23:33

华硕笔记本控制终极指南:用免费的G-Helper 3步告别卡顿的奥创中心 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, …

Gemini 3.1 Pro深度解析:长上下文与推理能力如何重塑AI应用开发

Gemini 3.1 Pro深度解析:长上下文与推理能力如何重塑AI应用开发

2026/8/15 8:23:33

1. 从Gemini 3.1 Pro的发布,看大模型竞争的下一站昨天下午,我的几个技术群里突然炸了锅,消息刷得飞快,源头都指向同一个新闻:谷歌正式发布了Gemini 3.1 Pro。这名字听起来像是小版本迭代,但圈内人都明白&am…

大语言模型应用误区:从拟人对话到精准工具的思维转变

大语言模型应用误区:从拟人对话到精准工具的思维转变

2026/8/15 8:23:33

上周,我花了一个下午,试图让一个大语言模型帮我整理一份技术文档的目录。我想要的很简单:一个清晰、结构化、符合逻辑的章节列表。但无论我怎么调整提示词,它给我的回复总是以“当然,我很乐意帮助您!”开头…

Spring Boot与MyBatis-Plus中SQL日志的精细化管控:从原理到生产实践

Spring Boot与MyBatis-Plus中SQL日志的精细化管控:从原理到生产实践

2026/8/15 8:23:33

1. 项目概述:为什么我们需要关注SQL日志的开关在基于Spring Boot和MyBatis-Plus的后端开发日常里,调试数据库操作是家常便饭。很多时候,一个看似简单的查询或者更新,执行起来却异常缓慢,或者返回的结果与预期不符。这时…

VSCode菜单栏消失的6种恢复方法及排查逻辑详解

VSCode菜单栏消失的6种恢复方法及排查逻辑详解

2026/8/15 8:13:33

1. 问题现象与核心影响如果你也像我一样,某天打开 VSCode,发现顶部的“文件”、“编辑”、“选择”、“查看”那一排菜单栏突然不见了,先别慌。这绝对是一个让人瞬间血压升高的体验,尤其是当你急着要保存文件、切换窗口或者调整设…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/14 10:48:24

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/13 17:17:06

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

2026/8/15 0:03:07

快消品(FMCG)是流通速度较快、竞争较为激烈的行业之一。一瓶饮料从出厂到消费者手中,往往只有几十天甚至几天的周转窗口。这决定了快消行业的仓储管理系统(WMS)与制造业、电商行业存在明显区别:它不仅需要管…

内景 空间站内部 中国空间站 太空 内仓

内景 空间站内部 中国空间站 太空 内仓

2026/8/15 0:03:07

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 空间站内部 中国空间站 太空 内仓 地址:本地PC端运行(或Web…

重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能

2026/8/15 0:03:07

重新定义数据接口:3个突破性场景让通达信数据读取更智能 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 当我们面对海量金融数据时,传统的数据获取方式往往让我们陷入困境—…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/15 1:04:46

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/14 19:35:14

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…