当前位置: 首页 > news >正文

ssh快速连接服务器终端配置

好的!我们从 生成新 SSH 密钥 开始,一步步教你如何配置免密登录和优化 SSH 连接。


🔹 1. 生成新的 Ed25519 密钥(专用于服务器)

运行以下命令生成新密钥(避免和 GitHub 的 id_ed25519 冲突):

ssh-keygen -t ed25519 -f ~/.ssh/server_key -C "your_email@example.com"
  • -t ed25519 → 使用更安全的 Ed25519 算法(比 RSA 更快更安全)。
  • -f ~/.ssh/server_key → 指定密钥文件名(私钥 server_key,公钥 server_key.pub)。
  • -C "your_email@example.com" → 添加注释(可选,方便识别密钥用途)。

执行后会提示:

Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase): [可直接回车,不设密码]
Enter same passphrase again: [再次回车]
Your identification has been saved in ~/.ssh/server_key
Your public key has been saved in ~/.ssh/server_key.pub
  • 如果设置密码:每次使用密钥时需输入(更安全,但稍麻烦)。
  • 如果不设密码:直接回车,免密登录(适合测试环境)。

🔹 2. 上传公钥到服务器

使用 ssh-copy-id 将公钥 server_key.pub 上传到服务器:

ssh-copy-id -i ~/.ssh/server_key.pub user@59.67.230.45
  • 会提示输入服务器密码(xxxxx)。
  • 成功后,公钥会被添加到服务器的 ~/.ssh/authorized_keys

如果 SSH 端口不是 22(比如 2222),加 -p 参数:

ssh-copy-id -i ~/.ssh/server_key.pub -p 2222 user@59.67.230.45

🔹 3. 测试免密登录

ssh -i ~/.ssh/server_key user@59.67.230.45
  • 如果密钥没设密码,应该能直接登录。
  • 如果设置了密码,会提示输入密钥密码(不是服务器密码)。

🔹 4. 优化 SSH 连接(可选)

📂 方法 1:使用 ~/.ssh/config 管理连接

编辑 ~/.ssh/config 文件(没有就新建):

nano ~/.ssh/config

添加以下内容(根据你的服务器信息修改):

Host myserver                  # 自定义别名(如 myserver、myvm)HostName 59.67.230.45      # 服务器 IP 或域名User user                  # 登录用户名Port 22                    # SSH 端口(默认 22,非默认需修改)IdentityFile ~/.ssh/server_key  # 指定私钥路径

保存后Ctrl+O → 回车 → Ctrl+X),直接运行:

ssh myserver  # 等同于 ssh -i ~/.ssh/server_key user@59.67.230.45

🔐 方法 2:禁用密码登录(增强安全)

如果服务器是你的,可以禁用密码登录,只允许密钥登录:

ssh myserver
sudo nano /etc/ssh/sshd_config

找到并修改:

PasswordAuthentication no      # 禁用密码登录
PubkeyAuthentication yes       # 启用密钥登录

重启 SSH 服务:

sudo systemctl restart sshd

⚠️ 注意

  • 确保你的公钥已正确上传,否则会被锁在服务器外!
  • 测试时建议开另一个终端窗口,防止配置错误导致失联。

🔹 5. 其他建议

🔧 修复文件权限

SSH 对文件权限敏感,运行以下命令修复:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/server_key     # 私钥必须 600
chmod 644 ~/.ssh/server_key.pub # 公钥可以 644
chmod 644 ~/.ssh/config         # config 可以 644

🗑️ 删除旧密钥(如果需要)

如果不再使用默认密钥(id_ed25519),可以删除:

rm ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub

🔹 总结

步骤命令/操作说明
1. 生成密钥ssh-keygen -t ed25519 -f ~/.ssh/server_key创建专用于服务器的密钥
2. 上传公钥ssh-copy-id -i ~/.ssh/server_key.pub user@IP将公钥传到服务器
3. 测试登录ssh -i ~/.ssh/server_key user@IP检查是否能免密登录
4. 优化配置编辑 ~/.ssh/config简化连接命令
5. 增强安全禁用密码登录仅允许密钥登录

现在你可以用 ssh myserver 直接登录服务器了!如果有问题,随时问我 😊

相关文章:

  • pyenv简单的Python版本管理器(macOS版)
  • HarmonyOs开发之———UIAbility进阶
  • #跟着若城学鸿蒙# web篇-初探
  • 关于NLP自然语言处理的简单总结
  • AgenticSeek开源的完全本地的 Manus AI。无需 API,享受一个自主代理,它可以思考、浏览 Web 和编码,只需支付电费。
  • PyTorch中.item()函数:提取单元素张量值
  • 自用Vscode 配置c++ debug环境
  • OpenCV图像旋转原理及示例
  • Ubuntu Linux bash的相关默认配置文件内容 .profile .bashrc, /etc/profile, /etc/bash.bashrc等
  • pytorch中各种乘法操作
  • OpenCV CUDA模块中逐元素操作------数学函数
  • HDMI信号采集器连OBS没有声音的问题
  • 盒带自编教材《软件工程》目录
  • 计算机网络:蜂窝网络和WiFi网络使用的射频信号有什么区别?
  • 计算机网络:什么是电磁波以及有什么危害?
  • Spring框架的事务管理
  • 每日算法-250515
  • ProfibusDP主站转ModbusRTU/TCP与横河AXG电磁流量计通讯案例
  • 麒麟系统ARM64架构部署mysql、jdk和java项目
  • docker(四)使用篇一:docker 镜像仓库
  • 中国军网:带你揭开3所新调整组建军队院校的神秘面纱
  • 圆桌丨新能源车超充技术元年,专家呼吁重视电网承载能力可能面临的结构性挑战
  • 4台肺癌手术,2名“90后”患者,这届年轻人的肺怎么了?
  • 国务院办公厅印发《国务院2025年度立法工作计划》
  • 乌外长:乌方准备无条件停火至少30天
  • 工程院院士葛世荣获聘任为江西理工大学校长