本地mac创建秘钥,然后远程登录Linux服务器

第一步:在本地电脑生成密钥对

首先,在你的本地 Linux 终端中执行以下命令来创建密钥对:

bash

复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa -b 4096:指定使用长度4096位的RSA算法,安全性高。

  • -C:添加一个注释(通常用邮箱),方便识别。

执行后按提示操作:

  1. 保存路径 :直接按 Enter,使用默认的 ~/.ssh/id_rsa 即可。

  2. 设置密码 :系统会提示 Enter passphrase强烈建议设置一个密码,这相当于给私钥再加一把锁,即使私钥文件不小心泄露,没有密码也无法使用。

完成后,会在 ~/.ssh/ 目录下生成两个文件:

  • id_rsa私钥,相当于你的"钥匙",必须严格保密,绝不能外传。

  • id_rsa.pub公钥,相当于你要安装在服务器上的"锁",可以公开。

第二步:把公钥"安装"到远程服务器

这一步是将你生成的公钥内容添加到远程服务器的信任列表中。这里有两种方法:

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

这个命令会自动将公钥添加到服务器的指定位置,最简单也最安全。在本地终端执行:

bash

复制代码
ssh-copy-id user@your_server_ip
  • user:你在远程服务器上的登录用户名。

  • your_server_ip:远程服务器的IP地址。

执行后,系统会提示你输入一次该用户的登录密码。输入正确后,公钥就上传成功了。

方法二:手动复制(如果 ssh-copy-id 不可用)

  1. 先查看并复制你的公钥内容:

    bash

    复制代码
    cat ~/.ssh/id_rsa.pub

    选中并复制终端输出的那一长串字符(从ssh-rsa开始到末尾)。

  2. 然后登录到远程服务器,将公钥粘贴到指定文件中:

    bash

    复制代码
    # 1. 用密码登录远程服务器
    ssh user@your_server_ip
    
    # 2. 在服务器上执行以下命令
    mkdir -p ~/.ssh          # 创建 .ssh 目录(如果不存在)
    chmod 700 ~/.ssh         # 设置 .ssh 目录权限为700[citation:3][citation:4]
    echo "这里粘贴你的公钥内容" >> ~/.ssh/authorized_keys  # 将公钥追加到信任列表
    chmod 600 ~/.ssh/authorized_keys  # 设置 authorized_keys 文件权限为600[citation:3][citation:4]

如果生成秘钥时输入了密码,那么就使用自定义的密码登录,如果没有输入密码直接登录。

相关推荐
AOwhisky12 小时前
云原生 DevOps 工具链从入门到实战(第二期)——Jenkins安装与基础配置——CICD核心引擎
linux·运维·ci/cd·云原生·jenkins·devops
盐焗鹌鹑蛋12 小时前
【Linux】基础开发工具yum和vim
linux·运维·vim
AOwhisky12 小时前
Linux(CentOS)系统管理入门笔记(第十四期)——计划任务与进程调度管理:atcron 与 nicechrt
linux·运维·笔记·centos·云计算·进程调度·计划任务
小莫分享12 小时前
sshw:用交互搜索和 Web 配置高效管理 SSH Server
linux·运维·golang·开源·ssh
流浪00113 小时前
Linux系统22:——文件(六):目标文件与ELF深度解析:从编译到加载的全景揭秘
linux·运维·服务器
带娃的IT创业者13 小时前
原生体验的回归:深入解析 TREK —— 专为 Apple Silicon 打造的轻量级容器方案
macos·docker·虚拟化·开源项目·容器化·apple silicon·trek
kidwjb13 小时前
Linux内核-内核信号处理函数
linux·内核·信号处理
万里浮云13 小时前
Typora -mac版本永久免费
macos
奶糖 肥晨13 小时前
mac系统中Java项目环境配置与问题解决全记录| 项目构建篇:Maven编译与打包
java·macos·maven
其实防守也摸鱼13 小时前
镜像校验完成iso完整操作流程(Windows 环境,适配 Ubuntu 22.04 / 24.04)
linux·服务器·windows·学习·ubuntu·教程