日常生产中,为了确保linux服务器的访问安全,我们通常需要关闭密码登录,改用密钥文件连接登录。那么如何猛如虎的操作一套呢,这里以CentOS为例说明,但只要是Linux系统,基本套路都一样,请看下文。
一、 生成密钥文件
-
执行命令
cd ~/.ssh/
,若没有该目录,请先执行命令ssh localhost
。第一次执行会需要输入root账户的密码。 -
执行命令
ssh-keygen -t rsa
,若不需要设置密钥密码则可以一直回车。执行完毕,可以看到在.ssh目录下生成了id_rsa和id_rsa.pub文件。
[root@localhost .ssh]# ssh-keygen -t rsa
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:ZiJYwkfQ1360wS+RCJBoMysdmf6bvrALMHs4eUEf494 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .*oo.o o . |
| .O.o . o * |
| ++==. . . = |
|..+B o . + . |
|o.o.+ . S. . |
|.= o.o + |
|* + .oE |
| = oo |
| ooo. |
+----[SHA256]-----+
-
执行命令
cat id_rsa.pub >> authorized_keys
,加入授权。 -
执行命令
chmod 600 ./authorized_keys
,修改授权文件权限。 -
将id_rsa文件下载到本地,可以按照主机名进行文件名的修改,便于区分。
二、 导入Xshell
将id_rsa导入xshell。
三、 禁掉密码登录方式
如果不再需要使用密码的方式连接,那么可以将密码连接的方式禁用,如下操作:
-
执行命令
vi /etc/ssh/sshd_config
,找到PasswordAuthentication这一项,使用密码登录时,这一项的值为yes,将其修改为no,保存退出。 -
执行命令
systemctl restart sshd
,重启ssh服务使其生效。