SSH无密码登录的设置步骤

首先我们在自己的Linux系统上生成一对SSH Key:SSH密钥和SSH公钥.密钥保存在自己的Linux系统上。
然后公钥上传到Linux服务器.之后我们就能无密码SSH登录了.SSH密钥就好比是你的身份证明.

1在自己的Linux系统上生成SSH密钥和公钥

打开终端,使用下面的ssh-keygen来生成RSA密钥和公钥.-t表示type,就是说要生成RSA加密的钥匙.

ssh-keygen -t rsa RSA也是默认的加密类型.所以你也可以只输入ssh-keygen.默认的RSA长度是2048位.如果你非常注重安全,那么可以指定4096位的长度.

ssh-keygen -b 4096 -t rsa

生成SSH Key的过程中会要求你指定一个文件来保存密钥,按Enter键使用默认的文件就行了.然后需要输入一个密码来加密你的SSH Key.密码至少要20位长度.SSH密钥会保存在home目录下的.ssh/id_rsa文件中.SSH公钥保存在.ssh/id_rsa.pub文件中.


Generating public/private rsa key pair. Enter file in which to save the key (/home/matrix/.ssh/id_rsa):  按Enter键 Enter passphrase (empty for no passphrase):   输入一个密码 Enter same passphrase again:   再次输入密码 Your identification has been saved in /home/matrix/.ssh/id_rsa. Your public key has been saved in /home/matrix/.ssh/id_rsa.pub. The key fingerprint is: e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 matrix@vivid The key's randomart image is: +---[RSA 4096]----+ | .. | | . . | | . . .. . | | . . o o.. E .| | o S ..o ...| | = ..+...| | o . . .o .| | .o . | | .++o | +-----------------+ 
   
    

           1          

           2          

           3          

           4          

           5          

           6          

           7          

           8          

           9          

           10          

           11          

           12          

           13          

           14          

           15          

           16          

           17          

           18          

           19          

           20          

           21          


           Generating            public           /           private            rsa            key            pair           .          

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

           Enter            passphrase                       (           empty            for                       no            passphrase           )           :              输入一个密码          

           Enter            same            passphrase            again           :              再次输入密码          

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

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

           The            key            fingerprint            is           :          

           e1           :           dc           :           ab           :           ae           :           b6           :           19           :           b0           :           19           :           74           :           d5           :           fe           :           57           :           3f           :           32           :           b4           :           d0            matrix           @           vivid          

           The            key'           s                       randomart            image            is           :          

           +           --           -           [           RSA                       4096           ]           --           --           +          

           |                       .           .                       |          

           |                       .                       .                       |          

           |                       .                       .                       .           .                       .                       |          

           |                       .                       .                       o                       o           .           .                       E                       .           |          

           |                       o                       S                       .           .           o                       .           .           .           |          

           |                       =                       .           .           +           .           .           .           |          

           |                       o                       .                       .                       .           o                       .           |          

           |                       .           o                       .                       |          

           |                       .           ++           o                       |          

           +           --           --           --           --           --           --           --           --           -           +

查看.ssh/id_rsa文件就会看到,这个文件是经过加密的(encrypted).也就是用你输入的密码来加密.


ssh什么加密算法安全_服务器


less .ssh/id_rsa

SSH无密码登录

2将SSH公钥上传到Linux服务器

可以使用ssh-copy-id命令来完成.

ssh-copy-id username@remote-server


ssh什么加密算法安全_ssh什么加密算法安全_02


SSH无密码登录

输入远程用户的密码后,SSH公钥就会自动上传了.SSH公钥保存在远程Linux服务器的.ssh/authorized_keys文件中.

上传完成后,SSH登录就不需要再次输入密码了.但是首次使用SSH Key登录时需要输入一次SSH密钥的加密密码.(只需要输入一次,将来会自动登录,不再需要输入密钥的密码.)

使用scp命令来传送文件时也不需要输入密码.

SSH Key的知识

Linux系统有一个钥匙环(keyring)的管理程序.钥匙环受到用户登录密码的保护.当你登录Linux系统时,会自动解开钥匙环的密码,从而可访问钥匙环.SSH的密钥和公钥也存储在钥匙环.所以初次使用SSH密钥登录远程Linux服务器时需要输入一次SSH密钥的密码.而将来使用SSH密钥登录时不再输入密码.Ubuntu的钥匙环程序是seahorse.

SSH密钥就好比是你的身份证明.远程Linux服务器用你生成的SSH公钥来加密一条消息,而只有你的SSH密钥可以解开这条消息.所以其他人如果没有你的SSH密钥,是无法解开加密消息的,从而也就无法登录你的Linux服务器.

SSH无密码登录的设置就是这么简单。