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 直接登录服务器了!如果有问题,随时问我 😊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值