以要设置 ssh 密钥的用户身份登录,在本例中,我们使用用户 test1.
创建私钥和公钥:
[test1@server4 ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/test1/.ssh/id_rsa): Created directory '/home/test1/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/test1/.ssh/id_rsa. Your public key has been saved in /home/test1/.ssh/id_rsa.pub. The key fingerprint is: <RSA_KEY> test1@server4.oracle.com The key's randomart image is: +--[ RSA 2048]----+ | .o... oo.| | . . .Eooo| | o . oo+.| | . + ...+.| | S o *| | *o| | =| | .| | | +-----------------+ [test1@server4 ~]$
说明:
我们可以在 ssh-keygen 上指定一个选项,例如大小和类型。
有关 man ssh-keygen 的更多信息
-b bits指定要创建的密钥中的位数。
对于 RSA 密钥,最小大小为 768 位,默认为 2048 位。
通常,2048 位就足够了。
DSA 密钥必须正好是 FIPS186-2 指定的 1024 位。
-t type指定要创建的密钥类型。
协议版本 1 的可能值为“rsa1”,协议版本 2 的可能值为“dsa”、“ecdsa”或者“rsa”。
新密钥将位于 /home/test1/.ssh。
- 移动到我们创建密钥的 .ssh 目录并列出目录中的文件:
[test1@server4 ~]$ cd .ssh [test1@server4 .ssh]$ ls id_rsa id_rsa.pub
- 将公钥复制到目标服务器(server3):
[test1@server4 .ssh]$ ssh-copy-id -i id_rsa.pub test1@server3 The authenticity of host 'server3 ([ip])' can't be established. RSA key fingerprint is [RSA_KEY]. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'server3,[ip]' (RSA) to the list of known hosts. test1@server3's password:
- 现在尝试登录机器,使用“ssh 'test1@server3'”,并签入:
.ssh/authorized_keys
以确保我们没有添加我们不期望的另外密钥。
- 现在测试密钥,我们应该直接登录目标服务器。
[test1@server4 .ssh]$ ssh test1@server3 [test1@server3 ~]$
注意:如果服务器尚未安装 openssh-clients 软件包,另一种选择是:
$ cat id_rsa.pub | ssh user@server3 "cat >> ~/.ssh/authorized_keys"
日期:2020-09-17 00:13:54 来源:oir作者:oir
