PublicKey相对于密码登录更安全。

PublicKey认证的基础在于一对密钥,public key和private key,public key对数据进行加密而且只能用于加密,private key 只能对所匹配的public key加密过的数据进行解密。

.ssh目录

在登录账号的目录下面新建.ssh目录,例如登录账号是test,就在/home/test目录下面新建并修改目录权限:

mkdir .ssh
chmod 700 .ssh

生成密钥

进入.ssh目录,使用ssh-keygen命令生成密钥:

ssh-keygen -t rsa -b 4096

需要输入密钥文件名和密钥的密码,密钥文件名默认回车即可:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/test/.ssh/id_rsa): //回车即可
Enter passphrase (empty for no passphrase): //密钥文件的密码
Enter same passphrase again: //密码确认

执行完毕之后,可以看到两个文件id_rsa.pub和id_rsa,重命名id_rsa.pub

mv id_rsa.pub authorized_keys
chmod 600 authorized_keys

把id_rsa文件下载到本地,之后就可以使用这个文件登录。

sshd_config

修改/etc/ssh/sshd_config文件的配置:

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
X11Forwarding no
AuthorizedKeysFile .ssh/authorized_keys

PermitRootLogin 使用root账号登录
PubkeyAuthentication pubkey登录
PasswordAuthentication 密码登录
X11Forwarding 如果不使用图形界面,可以把这个禁掉
AuthorizedKeysFile 就是开始生成的密钥文件路径,一般不用修改
保存修改之后,就可以重启sshd:

systemctl restart sshd

id_rsa

打开远程连接的客户端,比如这里使用的是xshell,配置publiekey登录,把下载到本地的id_rsa文件导入即可,导入时需要输入密钥文件的密码:

0

本文为原创文章,转载请注明出处,欢迎访问作者网站(和而不同)

发表评论

error: Content is protected !!