中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

配置SSH密钥认证

配置Windows公私钥

  1. 打开本地cmd终端。
  2. 执行如下命令生成公私钥对。

    ssh-keygen -m PEM -t rsa -b 3072

    目标服务器操作系统为openEuler 22.03时,需要使用其它安全的加密算法,例如:ssh-keygen -m PEM -t ecdsa -b 521生成公私钥对。

    目标服务器操作系统为openEuler 22.03 (LTS-SP1)时,需要使用其它安全的加密算法,例如:ssh-keygen -m PEM -t ed25519 -b 521生成公私钥对。

    目标服务器操作系统为openEuler 22.03 (LTS-SP2)时,需要使用其它安全的加密算法,例如:ssh-keygen -m PEM -t ed25519 -b 521生成公私钥对。

    过程中需要:

    • (可选)输入保存的文件名,默认为在“C:\Users\username\.ssh”目录下保存为“id_rsa”(私钥)和“id_rsa.pub”(公钥)文件。
    • (可选)设置密钥的密码口令。

    回显信息如下:

    Generating public/private rsa key pair. 
     Enter file in which to save the key (C:\Users\username\.ssh\id_rsa): 
     Enter passphrase (empty for no passphrase): 
     Enter same passphrase again: 
     Your identification has been saved in C:\Users\username\.ssh\id_rsa. 
     Your public key has been saved in C:\Users\username\.ssh\id_rsa.pub. 
     The key fingerprint is: 
    SHA256:rCRpryf6uZU+dQd/S8WN1azvay58zi3gtb53gayhvO8 china\username@HGHY4USERNAME 
     The key's randomart image is: 
    +---[RSA 3072]----+
    |               ..|
    |                +|
    |               =.|
    |     . .  .   o +|
    |    + . S  o. .o |
    |   . + o. ..+o+..|
    |      =....o+= +.|
    |    .=o  o ..o=o=|
    |  .o=+.. .+E .OO+|
    +----[SHA256]-----+
  3. 普通用户登录服务器并上传公钥文件“id_rsa.pub”

    将公钥文件放至“/home/操作系统用户名/.ssh”目录下,将公钥文件“id_rsa.pub”名字改为authorized_keys

    如已存在此“authorized_keys”文件,将公钥文件内容复制至authorized_keys文件中即可。

  4. 设置“authorized_keys”文件的权限为600。

    chmod 600 /home/操作系统用户名/.ssh/authorized_keys

  5. 查看服务器ssh配置文件。

    cat /etc/ssh/sshd_config

    检查以下两处开关:

    PubkeyAuthentication yes

    RSAAuthentication yes

    如若不是“yes”将上述开关设为“yes”后保存配置文件并重启sshd服务。

  6. 在IDE插件中选择密钥认证,在操作界面上直接导入本地的私钥文件即可。

配置Linux公私钥

  1. 使用SSH远程登录工具,以系统用户登录Linux操作系统命令行界面。

    该步骤必须在root用户下执行,若以普通系统用户登录,需要执行su切换到root用户下执行后续操作。

  2. 执行如下命令生成公私钥对。

    ssh-keygen -t rsa

    过程中需要:

    • (可选)输入保存的文件名,默认为在“/root/.ssh/id_rsa”目录下保存为“id_rsa”(私钥)和“id_rsa.pub” 公钥 )文件。
    • (可选)设置密钥的密码口令。

    回显信息如下:

    Generating public/private rsa key pair.
     Enter file in which to save the key (/root/.ssh/id_rsa):
     Enter passphrase (empty for no passphrase):
     Enter same passphrase again:
     Your identification has been saved in /root/.ssh/id_rsa.
     Your public key has been saved in /root/.ssh/id_rsa.pub.
     The key fingerprint is:
     SHA256:VQ/d88ESEpx1M91WDEi6KHXOu1/mCSFkq7DjxtEqZ9A root@Malluma
     The key's randomart image is:
     +---[RSA 2048]----+
     | .+B=+B=|
     | =o+o+O|
     | . * o.+|
     | . O o .|
     | .o.S * . |
     | . E+.. o . |
     | ooo. . . o |
     | ..*. . = . |
     | =. ... o |
     +----[SHA256]-----+
  3. 执行如下命令将公钥文件上传到节点服务器。

    ssh-copy-id -i /root/.ssh/id_rsa.pub root@Sever IP

    • /root/.ssh/id_rsa.pub为生成的公钥文件,Sever IP为节点服务器IP地址,请根据实际替换。
    • 上传的公钥文件默认保存在“/root/.ssh”目录,若使用普通用户请上传至对应用户目录下,且在命令中将root用户替换为普通用户名。

    过程中会需要输入节点服务器的root用户密码。

  4. 执行如下命令将私钥文件复制到“/home/devkit”目录下。

    cp /root/.ssh/id_rsa /home/devkit

  5. 执行如下命令设置devkit用户的权限。

    chown devkit:devkit /home/devkit/id_rsa