乐于分享
好东西不私藏

使用 Trae 配置 SSH 免密码登录 Linux 服务器

使用 Trae 配置 SSH 免密码登录 Linux 服务器

使用 Trae 配置 SSH 免密码登录 Linux 服务器

💡 告别繁琐的密码输入,让服务器管理更高效

前言

在日常开发和运维工作中,我们经常需要频繁登录 Linux 服务器进行操作。每次都要输入密码不仅繁琐,还会影响工作效率。今天,我将教大家如何使用 Trae 配置 SSH 公钥认证,实现免密码登录服务器。

什么是 SSH 公钥认证?

SSH 公钥认证是一种基于密钥对的安全认证方式:

  • 🔑 私钥:保存在本地,相当于你的”钥匙”
  • 🔓 公钥:上传到服务器,相当于”门锁”

只要本地私钥与服务器上的公钥匹配,就能自动完成认证,无需输入密码。


配置步骤

第一步:生成 SSH 密钥对

打开终端,执行以下命令:

# 检查是否已有密钥ls -la ~/.ssh/# 生成新密钥(使用 RSA 4096位加密)ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行后会提示:

  • 保存位置:直接回车使用默认路径 ~/.ssh/id_rsa
  • 密码短语:可以直接回车留空,实现完全免密码

第二步:上传公钥到服务器

方法一:使用 ssh-copy-id(推荐)

ssh-copy-id -i ~/.ssh/id_rsa.pub user@your-server-ip

输入服务器密码即可完成上传。

方法二:手动配置

# 查看公钥内容cat ~/.ssh/id_rsa.pub# 登录服务器后,将公钥添加到 authorized_keysecho "你的公钥内容" >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

第三步:配置 SSH 客户端(可选)

编辑本地配置文件 ~/.ssh/config

Host myserver    HostName your-server-ip    User your-username    IdentityFile ~/.ssh/id_rsa    StrictHostKeyChecking no

第四步:测试连接

# 使用配置好的别名连接ssh myserver# 或者直接使用ssh user@your-server-ip# 成功!无需输入密码

在 Trae 中使用

配置完成后,在 Trae 中可以直接使用以下命令:

# 快速连接服务器ssh myserver# 执行远程命令ssh myserver "cd /var/www && ls -la"# 上传文件scp local_file myserver:/var/www/# 下载文件scp myserver:/var/www/file ./

安全建议

⚠️ 保护私钥安全

  • 私钥文件不要分享给他人
  • 设置正确的文件权限:chmod 600 ~/.ssh/id_rsa
  • 建议为私钥设置密码短语,增强安全性

🔒 服务器安全加固

  • 定期更换 SSH 密钥对
  • 在服务器上禁用密码登录,仅允许密钥认证
  • 配置防火墙,限制 SSH 访问来源
  • 修改默认 SSH 端口(22)为非标准端口

常见问题

Q: 连接时提示 “Permission denied”A: 检查以下几点:

  • 服务器上 .ssh 目录权限是否为 700
  • authorized_keys
     文件权限是否为 600
  • 公钥内容是否正确复制

Q: 如何管理多个服务器?A: 在 ~/.ssh/config 中为每个服务器配置不同的 Host 别名:

Host server1    HostName 192.168.1.10    User admin    IdentityFile ~/.ssh/id_rsa_server1Host server2    HostName 192.168.1.20    User root    IdentityFile ~/.ssh/id_rsa_server2

Q: 私钥丢失了怎么办?A: 需要重新生成密钥对,并将新的公钥上传到服务器。建议平时备份私钥到安全的地方。

Q: 可以在 Windows 上配置吗?A: 可以!Windows 10/11 自带 OpenSSH 客户端,或者使用 Git Bash、WSL 都可以配置。


进阶技巧

使用 SSH Agent 管理密钥

# 启动 ssh-agenteval "$(ssh-agent -s)"# 添加私钥到 agentssh-add ~/.ssh/id_rsa# 查看已添加的密钥ssh-add -l

配置免密码 sudo(谨慎使用)

在服务器上编辑 /etc/sudoers

your-username ALL=(ALL) NOPASSWD: ALL

总结

通过配置 SSH 公钥认证,我们可以:

  • ✅ 实现免密码登录,提升工作效率
  • ✅ 增强安全性,避免密码泄露风险
  • ✅ 方便自动化脚本和 CI/CD 集成
  • ✅ 支持多个服务器统一管理

现在就开始配置吧,让你的服务器管理更加高效安全!


如果这篇文章对你有帮助,欢迎点赞、收藏和分享!有问题可以在评论区留言交流。