一、ssh无密码登录原理
使用密码登录时,每一次都必须输入密码,十分麻烦。SSH提供了公钥登录,可以省去输入密码的步骤。
公钥登录就是用户将自己的公钥存储在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密之后,再发送回来。远程主机用实现存储的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不在要求输入密码。
二、ssh无密码登录配置方法(配置主机A免登录到主机B上)
方法一:
1.进入主目录下的.ssh中
#cd .ssh/
2.生成公钥和私钥
#ssh-keygen -t rsa
然后按四下回车。在.ssh目录下就会生成两个文件:id_rsa.pub(公钥)和id_rsa(私钥)。
3.拷贝公钥到authorized_keys文件
#ssh-copy-id localhost
localhost为本机主机名。完成后可以看到.ssh目录下会生成authorized_keys文件。
4.完成后就可以登录到主机B上
#ssh localhostB
localhostB为主机B的主机名。
方法二:
1.在主机A生产密钥对
#ssh-keygen -t rsa
同样在.ssh目录下产生密钥文件。
2.拷贝主机A的公钥到主机B
#scpid_rsa.pub
3.将主机A的公钥加到主机B的授权列表.ssh/authorized_keys(若不存在,手动创建)
#cat id_rsa.pub>> authorized_keys
4.授权列表authorized_keys的权限必须是600,chmod 600 authorized_keys