配置SSH密钥认证
配置Windows公私钥
- 打开本地cmd终端。
- 执行如下命令生成公私钥对。
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]-----+
- 普通用户登录服务器并上传公钥文件“id_rsa.pub”。
将公钥文件放至“/home/操作系统用户名/.ssh”目录下,将公钥文件“id_rsa.pub”名字改为 。
如已存在此“authorized_keys”文件,将公钥文件内容复制至 文件中即可。
- 设置“authorized_keys”文件的权限为600。
chmod 600 /home/操作系统用户名/.ssh/authorized_keys
- 查看服务器ssh配置文件。
cat /etc/ssh/sshd_config
检查以下两处开关:
PubkeyAuthentication yes
RSAAuthentication yes
如若不是“yes”将上述开关设为“yes”后保存配置文件并重启sshd服务。
- 在IDE插件中选择密钥认证,在操作界面上直接导入本地的私钥文件即可。
配置Linux公私钥
- 使用SSH远程登录工具,以系统用户登录Linux操作系统命令行界面。
该步骤必须在root用户下执行,若以普通系统用户登录,需要执行su切换到root用户下执行后续操作。
- 执行如下命令生成公私钥对。
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]-----+
- (可选)输入保存的文件名,默认为在“/root/.ssh/id_rsa”目录下保存为“id_rsa”(私钥)和“id_rsa.pub”(
- 执行如下命令将公钥文件上传到节点服务器。
ssh-copy-id -i /root/.ssh/id_rsa.pub root@Sever IP
- /root/.ssh/id_rsa.pub为生成的公钥文件,Sever IP为节点服务器IP地址,请根据实际替换。
- 上传的公钥文件默认保存在“/root/.ssh”目录,若使用普通用户请上传至对应用户目录下,且在命令中将root用户替换为普通用户名。
过程中会需要输入节点服务器的root用户密码。
- 执行如下命令将私钥文件复制到“/home/devkit”目录下。
cp /root/.ssh/id_rsa /home/devkit
- 执行如下命令设置devkit用户的权限。
chown devkit:devkit /home/devkit/id_rsa