Linux-SSH秘钥登录.md 1.7 KB

Linux SSH秘钥 登录

写在前面

一般在安装完服务器后都会采用密码验证的方式登录,但是这样的验证方法漏洞还是比较多的,容易被爆破。因此建议采用秘钥的方式进行远程连接。

秘钥创建

$ ssh-keygen -t rsa	# 创建秘钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): pzxy-centos
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in pzxy-centos.
Your public key has been saved in pzxy-centos.pub.
The key fingerprint is:
SHA256:embl12lYQb7IpD7Mj2IwNwJSGcX1oEuCARuC7KcYtjM root@CentOS
The key's randomart image is:
+---[RSA 3072]----+
|*.. .=..o     .  |

创建完会生成两份文件:"id_rsa.pub"和"is_rsa"。

其中“id_rsa.pub”是公钥文件,我们需要将公钥内容添加到认证秘钥文件中,这样就可以使用配套的私钥文件进行认证了。

配置秘钥登录

将公钥写入认证文件

$ cat "公钥文件" > ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

配置sshd-conf文件

vim /etc/ssh/sshd_config

RSAAuthentication yes # 开启密钥登入的认证方式

PubkeyAuthentication yes # 开启密钥登入的认证方式

PermitRootLogin yes # 此处请留意 root 用户能否通过 SSH 登录,默认为yes

# 可以正常用密钥登录了,再把这里改为no
PasswordAuthentication yes #当我们完成全部设置并以密钥方式登录成功后,可以禁用密码登录。这里我们先不禁用,先允许密码登陆

ssh登录

在关闭密码验证后,登录需要在ssh的命令中使用-i参数来启用秘钥文件。