配置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”(公钥)文件。
- (可选)设置密钥的密码口令。
回显信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
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服务。
systemctl restart sshd
- 在IDE插件中选择密钥认证,在操作界面上直接导入本地的私钥文件即可。
配置Linux公私钥
- 使用SSH远程登录工具,以系统用户登录Linux操作系统命令行界面。
- 执行如下命令生成公私钥对。
1ssh-keygen -t rsa -b 4096
过程中需要:
- (可选)输入保存的文件名,默认会在/userhome/.ssh/id_rsa目录下保存为“id_rsa”(私钥)和“id_rsa.pub”(
公钥 )文件。 - (可选)设置密钥的密码口令。
回显信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Generating public/private rsa key pair. Enter file in which to save the key (/userhome/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /userhome/.ssh/id_rsa. Your public key has been saved in /userhome/.ssh/id_rsa.pub. The key fingerprint is: SHA256:g8T/XaRUqANpuIjxnI34In89+R68QckZPw7eyEaCU+o root@host11 The key's randomart image is: +---[RSA 4096]----+ | . . .. | | . .. + .. | | * =+o.. .. . | | o *=o+ =o. o | | .+ o S o.. . | |. .... B B o . | | o .E. .O + . | | . . +. + | | . ++ | +----[SHA256]-----+
- (可选)输入保存的文件名,默认会在/userhome/.ssh/id_rsa目录下保存为“id_rsa”(私钥)和“id_rsa.pub”(
- 执行如下命令将公钥文件上传到节点服务器。
1ssh-copy-id -i /userhome/.ssh/id_rsa.pub root@Server IP
- /userhome/.ssh/id_rsa.pub为生成的公钥文件,其中/userhome/(root用户为/root/,普通用户为/home/普通用户名/)请根据实际替换。
- Server IP为节点服务器IP地址,请根据实际替换。
过程中需要输入节点服务器对应用户的密码。
父主题: 常用操作