场景说明:
正常情况下使用ssh登录或者使用scp复制文件时均需要输入密码才可正常通信,在shell脚本需要执行以上操作的时候再输入密码就显得很恶心
举个例子:服务器A访问服务器B
- A服务器用户 :test
- B服务器用户:test
- 首先在A服务器上用ssh-keygen生成公钥和私钥
1 | ssh-keygen -t rsa |
- 之后会在/home/test/.ssh/目录下生成两个文件
1 2 | id_rsa id_rsa.pub |
- 在B服务器上检查是否有/home/test/.ssh/的目录,如果没有则创建这个目录
- 将A服务器上的id_rsa.pub文件拷贝到B服务器/home/test/.ssh/的目录下
- 之后把公钥文件追加到authorized_keys文件中
1 2 | # 命令:>是覆盖,>>是追加 cat id_rsa.pub >> authorized_keys |
- 完成以上操作即可进行效果验证,当我们在A服务器上使用 ssh或scp访问B服务器的时候就不需要再使用密码了