Logo
活死人の行知路

服务器免密登录


📅 | 📝 137 字
#linux #ubuntu

一、完整操作流程(只需 2~3 分钟)

  1. 在你的电脑(本地)生成密钥(推荐 ed25519,主流最优)

    ssh-keygen -t ed25519 -C "你的邮箱或备注"
    

    → 直接回车三下(默认路径 + 可空密码)就行,想安全就设个 passphrase 也行

  2. 一键把公钥上传到服务器(最推荐写法)

    ssh-copy-id user@服务器IP
    # 或者明确指定密钥(推荐永远这样写,永不出错)
    ssh-copy-id -i ~/.ssh/id_ed25519.pub user@服务器IP
    

    → 这一步会让你输一次密码,输完就彻底免密了

  3. 测试(重新开一个终端)

    ssh user@服务器IP
    

    → 直接进去,不输密码 → 成功!

大功告成!99.99% 的情况到这里就结束了。

二、进阶优化(强烈推荐,省一辈子时间)

在本地创建或编辑 ~/.ssh/config

Host myserver                   # 你随便取的名字,越短越好
    HostName 123.123.123.123    # 或者域名
    User root                   # 或者 ubuntu、deploy 等
    Port 22                     # 如果改过端口就写实际端口
    IdentityFile ~/.ssh/id_ed25519
    # 可选:超时自动断开、保持长连接
    ServerAliveInterval 60

以后只敲两个字就登录:

ssh myserver

三、注意事项

场景解决办法
服务器太老,不支持 ed25519改用 RSA:ssh-keygen -t rsa -b 4096 -o -a 100 然后再 ssh-copy-id
服务器改了端口(比如 2222)ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 user@ip
没有 ssh-copy-id 命令手动:`cat ~/.ssh/id_ed25519.pub
还是要密码(极少)登录服务器后跑一次:chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

四、小结

项目推荐选择(优先级)命令一句话记住
密钥类型ed25519 > ed25519-sk > rsa 4096ssh-keygen -t ed25519
上传公钥永远用 ssh-copy-id -issh-copy-id -i ~/.ssh/id_ed25519.pub user@ip
权限ssh-copy-id 自动修好,不用管完全不用手动 chmod
日常登录配置 ~/.ssh/config 别名以后只敲 ssh 别名