zoukankan      html  css  js  c++  java
  • SSH无密码登录

    client 192.168.1.10(ansible@client无密码登录到ansible@server)

    server   192.168.1.20

    首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了.

    第一次登陆后,ssh就会把登陆的ssh指纹存放在用户home目录的.ssh目录的know_hosts文件中,如果ssh指纹已经改变,你需要把 .ssh 目录下的know_hosts中的相应指纹删除,再登陆回答yes,方可登陆

    ssh public key解决密码登录问题

    openssh的ssh-keygen命令用来产生私钥和公钥(非对称加密)

    #ansible@client产生公钥和私钥(生成的私钥和公钥在家目录的.ssh文件夹下)

    [ansible@client]ssh-keygen -b 1024 -t dsa

    #client把公钥分发到ansible@server家目录的.ssh文件夹下 .ssh的权限必须为700 否则ssh会拒绝无密码登录

    [ansible@server]mkdir /root/.ssh;chmod 700 /root/.ssh

    [ansible@client]scp -p 10002 /home/ansible/.ssh/id_dsa.pub ansible@192.168.1.20:~/.ssh/authorized_keys #以后添加其它主机的公钥叠加到authorized_keys文件 >>

    #test

    [ansible@client]ssh -p 10002 ansible@192.168.1.20 'sudo cat /etc/shadow'

    #相关脚本

     1 #!/bin/bash
     2 #2014-8-13
     3 
     4 stuff="gtv_ma_1029_M325.apk"
     5 
     6 array_node[0]="*"#ip以*代替 保护隐私
     7 array_node[1]="*"
     8 array_node[2]="*"
     9 array_node[3]="*"
    10 array_node[4]="*"
    11 array_node[5]="*"
    12 array_node[6]="*"
    13 #到各节点上找出$stuff文件 并计算出md5值
    14 for i in ${array_node[*]}
    15 do
    16         printf "$((++n)):%s	%s
    " $i $(ssh -p 10002 root@$i "find / -name $stuff -type f -exec md5sum {} ; 2>/dev/null | cut -d ' ' -f1")
    17 done
  • 相关阅读:
    MySQL慢日志
    百万级数据生成。
    layui的数据表格加上操作
    WINDOWS命令行关闭本地占用的端口
    项目中路径问题
    linux服务器上使用find查杀webshell木马方法
    mysql锁分析相关的几个系统视图
    Centos7中网络及设备相关配置
    centos7版本中ssh相关的设置
    mysql权限参考
  • 原文地址:https://www.cnblogs.com/metasequoia/p/3899645.html
Copyright © 2011-2022 走看看