Publick Key认证简介
Publick Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接。Publick Key认证的基础在于一对密钥,public key和private key,public key对数据进行加密而且只能用于加密,private key 只能对所匹配的public key加密过的数据进行解密。我们把public key放在远程系统合适的位置,然后从本地开始进行ssh连接。此时,远程的sshd会产生一个随机数并用我们产生的public key进行加密后发给本地,本地会用private key进行解密并把这个随机数发回给远程系统。最后,远程系统的sshd会得出结论我们拥有匹配的private key允许我们登录。
1--> 登陆A机,在当前用户根目录执行(以RSA算法为例):
ssh-keygen –t rsa
屏幕显示内容均可直接以回车使用默认项
此时在$home/.ssh目录下生成id_rsa私钥(private key)及id_rsa.pub公钥(public key)两个文件
2--> 将$home/.ssh/id_rsa.pub传至在B机的$home/.ssh目录下
在B机$home/.ssh目录下执行命令
cat id_rsa.pub >> authorized_keys
按上述方法实现A机和B机间的公私钥配对后,自A机向B机就可以实现同一用户名的sftp自动安全登陆操作。
Note: 在配置ssh自动传输的时候注意,
.ssh目录的属主、属组使用当前用户与用户组,
.ssh目录的权限请保持700
authorized_keys的权限为644
id_rsa的权限为600
id_rsa.pub的权限为644
检查用户$HOME目录权限必须为755