linux centos ssh下载安装,CentOS Linux SSH秘钥登录配置

登录Linux服务器,除了使用账号密码登录这种方式外,我们也可以使用ssh秘钥来登录。

ssh秘钥登录Linux的方法大体是使用rsa生成公私密钥对,其中吧公钥放在服务器上,而私钥存放在客户端。这样可以达到免密登录。

一、使用ssh-keygen生成RSA秘钥对$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/demo/.ssh/id_rsa.

Your public key has been saved in /home/demo/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:Kc0xeDMJp9Ki0f5sZU1sqdq18lc6MDcClchDuF1oxnM demo@test-server

The key's randomart image is:

+---[RSA 2048]----+

| .=oo . |

| . ..=XoE. |

| . + +=B*= |

| + o.+o@ |

| . . . S.o |

| o * .+.o . |

| = o .= + |

| . o + |

| .. . |

+----[SHA256]-----+

可以看到ssh-keygen在/home/demo/.ssh/目录下生成了两个文件:id_rsa和id_rsa.pub,其中id_rsa为私钥,id_rsa.pub为公钥。

二、把公钥的内容追加到.ssh目录下的authorized_keys文件中

这里分为两种情况:

1、authorized_keys文件存在,里面已存在其他用户登录的公钥,那么只需要把生成的公钥的内容追加到authorized_keyscat id_rsa.pub >> authorized_keys

注意追加是两个大于号,单个大于号是覆盖

2、如果authorized_keys不存在,则可以直接把id_rsa.pub重命名为authorized_keysmv id_rsa.pub authorized_keys

三、修改authorized_keys访问权限

将目录.ssh权限设置为700,公钥文件authorized_keys设置为644$ chmod 700 ../.ssh/

$ chmod 644 authorized_keys

四、修改ssh配置vim /etc/ssh/sshd_configRSAAuthentication yes

PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2

# but this is overridden so installations will only check .ssh/authorized_keys

AuthorizedKeysFile .ssh/authorized_keys

这里有一点很重要,在你配置密钥登录成功之前,不要把

PasswordAuthentication 设置no,否则你密钥登录不了,然后又禁止密码登录,就悲剧了

在密钥登录设置成功之后,可以将PasswordAuthentication 设置为no,禁用密码登录了,比较安全

五、使用私钥登录

把生成的私钥id_rsa下载到客户端,客户端登录时选择使用秘钥登录,并且选择与服务器配对的私钥,也就是下载到客户端的私钥id_rsa

你可能感兴趣的:(linux,centos,ssh下载安装)