202 位表示想打赏此文章

Linux下实现密钥\私钥\公钥登录

很多时候为了防止服务器密码被暴力破解,或者想实现免密登录,我们可以利用密钥\私钥\公钥方式来登录。其实密钥\私钥\公钥说的都是一种方式,下面简称密钥登录,并介绍两种情况,但无论哪种,服务器都是放公钥

 

一、SecureCRT等客户端登录linux服务器

(服务器放自己的公钥,私钥给客户端使用)

1、制作密钥对

先登录到linux服务器,输入ssh-keygen生成公钥和私钥

id_rsa就是私钥,id_rsa.pub就是公钥。

 

2、在linux服务器上安装公钥

进入.ssh文件夹:

cd ~/.ssh

cat id_rsa.pub >> authorized_keys

chmod 600 authorized_keys

chmod 700 ~/.ssh

注意:authorized_keys文件是追加公钥,用的是>>而不是>,后续还能追加其他客户端登录。

authorized_keys文件权限必须是600,.ssh文件夹权限必须是700。

 

3、打开密钥登录

vi /etc/ssh/sshd_config ,主要留意以下4项:

RSAAuthentication yes //

PubkeyAuthentication yes //

PermitRootLogin yes //是否允许使用root登录

PasswordAuthentication yes //我理解是yes则rsa和密码都要验证才能登录。

 

4、获取私钥

将私钥保存到本地,在secureCRT的登录设置中选择即可,同理xshell等都行

cat /root/.ssh/id_rsa

 

二、linux客户端登录到linux服务器

(服务器放客户端的公钥,私钥给客户端使用)

1、制作密钥对

类似第一部分,先登录到linux客户端,输入ssh-keygen生成公钥和私钥。

 

2、拷贝公钥到服务器

①方法一:ssh-copy-id -i /root/.ssh/id_rsa.pub root@xx.xx.xx.xx

输入服务器密码则可以拷贝过去。拷完后登上去服务器检查下~/.ssh文件夹下面是不是有authorized_keys。

②方法二:如果服务器已经开启了密钥登录,则把客户端的id_rsa.pub文件通过其他手段拷贝到/root/.ssh/下面,然后cat id_rsa.pub >> authorized_keys

③保证服务器的authorized_keys的权限是600,.ssh文件夹的权限是700。linux客户端就能密钥登录linux服务器了。

2 thoughts on: Linux下实现密钥\私钥\公钥登录

发表评论

电子邮件地址不会被公开。 必填项已用*标注