创建并使用SSH密钥登录服务器(ssh密钥对创建及使用)
当服务器采用Linux操作系统时,我们经常需要通过SSH登录服务器,进行作业。创建密钥并通过密钥的形式来登录系统,既方便,又更加安全。本文就来介绍一下在CentOS环境下,如何创建SSH密钥,并通过密钥登录服务器。
创建SSH密钥和公钥
1.执行 ssh-keygen -t rsa命令,创建密钥和公钥.
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): # "Enter"键,默认即可。
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): # "Enter"键,默认即可。
Enter same passphrase again: # "Enter"键,默认即可。
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:
db:52:c2:15:94:68:70:71:04:1f:39:04:94:fe:32:c2 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
| .o*XBo |
| .+o+o |
| o o. |
| ... |
| . S.. |
| E o=. |
| .oo. |
| . |
| |
+-----------------+
2.将公钥追加到已认证文件中.
# cd /root/.ssh/ # cat id_rsa.pub >> authorized_keys # ls authorized_keys id_rsa id_rsa.pub
注:只有将创建的公钥追加到已被认证authorized_keys文件中,公钥才是有效的。
3.利用FTP等工具,将id_rsa密钥文件,下载保存至本地。
修改ssh配置文件
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup # vim /etc/ssh/sshd_config #RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys 修改如下: RSAAuthentication yes # 允许使用RSA公钥认证 PubkeyAuthentication yes # 允许公钥认证 AuthorizedKeysFile .ssh/authorized_keys # 存放该用户用来登录的RSA公钥路径
注:为了更加安全,也可以禁用“密码登录”,而只使用密钥登录。
# vim /etc/ssh/sshd_config 添加如下: PasswordAuthentication no # 不允许使用密码登录
4.重启SSH服务。
# service sshd restart
登录测试
1.如下图,输入用户名,选择存放在本地id_rsa密钥文件,点击登录。
2.可以确认,成功登录。
如果用PuTTY登录的话,还需要用PuTTYgen将id_rsa密钥文件转换为*.ppk格式
1.打开PuTTYgen,点击「Load」,导入保存在本地的id_rsa密钥文件。
2.点击「OK」即可。
3.可以输入密钥的密码,本文省略。点击「Save private key」,保存密钥。
4.将密钥文件保存为*.ppk格式。
5.打开PuTTY软件,输入IP地址。
6.点击「Data」,输入登录用户名。
7.点击「Auth」,载入创建的*.ppk密钥文件,点击「Open」登录服务器。
8.登录成功。