1. ssh-keygen工具可以实现免密码登录服务器
    可参考之前的blog:http://www.cnblogs.com/Mrhuangrui/p/4565333.html
    写的比较粗糙
  2. 原理说明
    使用ssh-keygen会生成了私钥id_rsa、公钥id_rsa.pub
    将公钥id_rsa.pub 文件内容拷贝到目标机器的 authorized_keys 中
    私钥存在就可以直接访问目标机器
    目标机器对我完全信任
    私钥万万不可泄露
    目标机器只要存在公钥
    修改密码同样也可以使用私钥登录
    快捷复制公钥到目标机器的命令:ssh-copy-id root@10.10.0.1
    密钥区分用户,私钥置于当前用户~/.ssh/目录,权限赋予600
  3. 私钥的应用场景有跳板机、Ansible服务器,实现免密码登录管理批量服务器
  4. 简单的rsync调用id_rsa,实现2台机器文件互相同步(脚本使用了www用户)
    脚本如下(本机备份到远程服务器):
    #!/bin/bash
    
    cd `dirname $0`
    KEY_FILE='/home/www/.ssh/id_rsa'
    SSH_OPTIONS='-C -o StrictHostKeyChecking=no '
    
    chmod 600 ${KEY_FILE}
    
    /usr/bin/rsync -rzt -e "ssh -p 22 -i ${KEY_FILE} ${SSH_OPTIONS}" /data/ www@10.10.0.1:/data/ 1>/dev/null
    status=$?
    if [ $status -ne 0 ];then
        echo "1"
    else
        echo "0"
    fi
    scp2remote.sh

分类:

技术点:

相关文章: