SSH(Secure Shell)是一种安全的加密协议,它广泛应用于服务器的管理和维护通信。当使用CentOS服务器时,管理工作通常主要通过SSH进行的远程终端会话来完成。本文将详细介绍如何在CentOS 7上创建一个新的SSH密钥对,并将其公钥复制到远程服务器。
1、检查现有的SSH密钥
在生成新的SSH密钥对之前,最好先检查CentOS客户端计算机上是否存在现有的SSH密钥。请运行以下命令,该命令将列出所有公钥:
ls -l ~/.ssh/id_*.pub
如果命令输出提示类似于”cannot access /root/.ssh/id_*.pub: No such file or directory”,则说明你的客户端计算机上没有SSH密钥,可以继续执行下一步并生成SSH密钥对。
2、生成新的SSH密钥对
首先需要生成一个新的4096位SSH密钥对,并将你的电子邮件地址作为注释。在终端中输入以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
系统将提示指定文件名:
Enter file in which to save the key (/root/.ssh/id_rsa):
按Enter键接受默认文件位置和文件名。接下来,系统会要求输入安全密码。如果你选择使用密码短语,将获得额外的安全层。输入以下命令:
Enter passphrase (empty for no passphrase):
如果不想使用密码短语,请按Enter键。
3、查看生成的SSH密钥
现在可以查看生成的SSH密钥。在终端中输入以下命令:
cat /root/.ssh/id_rsa
4、将公钥复制到远程服务器
既然已生成SSH密钥对,下一步是将公钥复制到要管理的服务器。最简单的方法是使用名为ssh-copy-id的实用程序。在本地机器终端中输入以下命令:
[root@liulihui /]# ssh-copy-id root@192.168.133.128 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@192.168.133.128's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@192.168.133.128'" and check to make sure that only the key(s) you wanted were added.
如果本地计算机上没有ssh-copy-id实用程序,请使用以下命令复制公钥:
cat ~/.ssh/id_rsa.pub | ssh your_username@remote_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
5、使用SSH密钥登录服务器
完成上述步骤后,应该能够登录到远程服务器而不会被提示输入密码。要验证它,请尝试通过SSH登录到服务器:
ssh root@192.168.133.128
如果没有为私钥设置密码,则会立即登录,否则,系统将提示输入密码。
# 测试 [root@liulihui ~]# ssh root@192.168.133.128 Last login: Thu Jan 5 00:56:46 2023 from 192.168.133.128 [root@liulihui ~]#
通过以上步骤,你现在应该已经成功生成了新的SSH密钥对并将公钥复制到远程服务器。可以通过SSH密钥登录服务器,并且无需输入密码。
-
广告合作
-
QQ群号:707632017