SSH
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能
SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令
SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。
SSH免密登录
通过配置 服务器之间ssh免密登录实现服务器互相访问无须输入密码、 这样可以将服务器之间的文件传输在脚本中实现。
配置方式
A服务器地址: 192.168.1.21
B服务器地址: 192.168.1.22
A免密登录B (A服务器下ssh 192.168.1.22 无需密码)
在A服务器生成密钥文件(三下回车)
bash
ssh-keygen -t rsa
此时会在A服务器当前用户家目录下生成两个文件
bash
cd ~/.shh
id_rsa 此文件为私钥
id_rsa.pub 此文件为公钥
此时将公钥文件的内容写入到其他服务器用户家目录中authorized_keys 文件中、就可以实现当前服务器免密登录其他服务器。
我们将公钥传入B服务器
bash
ssh-copy-id 192.168.1.22
或
将id_rsa.pub copy到B服务器 用户家目录下 .ssh 文件夹中 追加到authorized_keys 文件中(建议copy后重命名 避免与B服务器中公钥冲突)
bash
cat id_rsa.pub > authorized_keys
或
A服务器查看公钥 并复制内容
bash
cat id_rsa.pub
B 服务器编辑 authorized_keys文件 直接粘贴在最后放
bash
vi authorized_keys
此时 A向B免密连接配置完成
A ssh B 无需密码
如需要B向A 则反向操作、 B生成公钥 、写入到A的 authorized_keys 文件中
关于.ssh中的文件
authorized_keys :存放免密登录的公钥(其他服务器公钥)
id_rsa : 当前服务器私钥
id_rsa.pub :当前服务器公钥
known_hosts 记录曾经远程连接的机器信息