Mac 使用秘钥登录 Linux 服务器

简介

在 Mac 上配置 SSH 密钥登录远程的 Linux

相关配置

  1. 创建本地的 SSH 密钥

    本地 生成秘钥对

    ssh-keygen -t rsa -C 'youxiang@aliyun.com'

    -t 指定密钥类型,默认即 rsa
    -C 设置注释文字,比如你的邮箱

    可以设置 私钥密码,我这里设置的密码为 12345

    AboEQsE4Ev.png!large

    生成的密钥默认在 家目录 下的 .ssh 目录下

    74AZuzIFoO.png!large
  2. 上传 公钥到远程 Linux 服务器

    使用 scp 复制公钥到远程服务器

    scp -P <端口号> ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/home/id_rsa.pub

    我这里使用的 root 用户上传,需要输入登录密码

    lvulyleBfN.png!large
  3. 配置远程 Linux 的私钥

    登录 远程 Linux 服务器,把公钥追加到服务器 ssh 认证文件中:

    cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

    如果在 家目录 没有 .ssh 目录或 authorized_keys 文件,可以创建一下,并授予 authorized_keys 文件 600 权限

    k6BLl1kodC.png!large

    然后在执行 cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

  4. 本地 ssh 连接

    ssh -p <端口号> <用户名>@<ip地址>

    如果没有修改默认端口,可以忽略端口号

    ssh root@114.11.11.111

  5. 创建配置文件快速登录

    每次登录都需要输入用户和 ip 地址,这样也是太麻烦,可以添加配置文件,使用 别名 来登录

    vi ~/.ssh/config

    Host            alias            #自定义别名
    HostName        114.11.11.110         #替换为你的ssh服务器ip或domain
    Port            22             #ssh服务器端口,默认为22
    User            root             #ssh服务器用户名
    IdentityFile    ~/.ssh/id_rsa    #第一个步骤生成的公钥文件对应的私钥文件
    FlEfEZKENR.png!large

    此时就可以使用 ssh jd 进行登录

禁止 Linux 使用账号密码登录

  1. cd /etc/ssh/

  2. 修改SSH的配置文件 vi sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody

#默认PasswordAuthentication 为yes,即允许密码登录,改为no后,禁止密码登录
PasswordAuthentication no 
  1. 重启 ssh 服务

    systemctl restart sshd.service


参考1

参考2

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!