当前位置: 首页 > 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 直接登录服务器了!如果有问题,随时问我 😊

http://www.xdnf.cn/news/470503.html

相关文章:

  • 在你窗外闪耀的星星--一维前缀和
  • 第三十节:直方图处理-直方图比较
  • EtherCAT转EtherNet/IP解决方案-泗博网关CEI-382
  • 【Linux】基于虚拟机实现网络的管理
  • MSPM0--Timer(一口一口喂版)
  • 力扣-49.字母异位词分组
  • 缓存的相关内容
  • 搭建Centos环境安装禅道
  • 彻底解决sublime text4无法打开install package界面安装插件问题
  • 【匹配】Smith-Waterman
  • VMware虚拟机桥接模式无法联网的终极排查指南
  • 奇变偶不变,符号看象限
  • 博途软件直接寻址AMS348i读取位置值详解
  • 前馈神经网络回归(ANN Regression)从原理到实战
  • 2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(省赛)解题报告 | 珂学家
  • 【Java】Spring的声明事务在多线程场景中失效问题。
  • 以项目的方式学QT开发(二)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
  • ​​STC51系列单片机引脚分类与功能速查表(以STC89C52为例)​
  • 合并两个有序数组的高效算法详解
  • 多级分类的实现方式
  • Xinference推理框架
  • 遗传算法求解旅行商问题分析
  • Python内存管理:赋值、浅拷贝与深拷贝解析
  • Mendix 连接 MySQL 数据库
  • Linux动态库热加载驱动插件机制-示例
  • 国标GB28181视频平台EasyGBS助力智慧医院打造全方位视频监控联网服务体系
  • QML元素 - MaskedBlur
  • 力扣-236.二叉树的最近公共祖先
  • Elasticsearch 常用语法手册
  • 格恩朗椭圆齿轮流量计 工业流量测量的可靠之钥