SSH 免密码登陆

1.在A机生成公钥和私钥

ssh-keygen -t rsa –P

一般采用的ssh的rsa密钥:
id_rsa     私钥
id_rsa.pub 公钥
下述命令产生不同类型的密钥
ssh-keygen -t dsa

 

2.把A机下的/root/.ssh/id_rsa.pub 复制到B机的 /root/.ssh/authorized_keys文件里,先要在B机上创建好 /$HOME/.ssh 这个目录,用scp复制。

scp [email protected]:/$HOME/.ssh/id_rsa.pub  $HOME/.ssh/
cat id_rsa.pub  >>$HOME/.ssh/authorized_keys
chmod 600  $HOME/.ssh/authorized_keys

3.如果要互相免密码登陆,则需要在将B机的公钥拷贝到A机上。

4.执行脚本

sudo yum install expect.

function settingSShNoLogin(){
   echo "setting ssh no login"
      pwd="\r"
      keyGen="ssh-keygen -t rsa -f $HOME/.ssh/id_rsa"
      chmod="chmod g-w  $HOME/.ssh/authorized_keys"
    machinedPwd="*****"
   echo "step 1->setting private key"
     $keyGen
     echo "step 2->chmod for public key"
        if [ ! -f "$HOME/.ssh/authorized_keys" ];then
          cat > $HOME/.ssh/authorized_keys
       fi
         cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
         $chmod
    echo "step 3->merge authorized_keys file"
          OLD_IFS="$IFS"
            IFS=","
            nodeHosts=($NODE_HOSTS)
            IFS="$OLD_IFS"

           for  node in ${nodeHosts[@]}
              do
          if [  "$node" != "$machine_name" ]; then
           expect -c "set timeout -1;
                spawn ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected]$node;
                expect {
                    *(yes/no)* {send -- yes\r;exp_continue;}
                    *assword:* {send -- $machinedPwd\r;exp_continue;}
                    eof        {exit 0;}
                }";
          fi
           done
}
时间: 2024-10-26 04:47:32

SSH 免密码登陆的相关文章

ubuntu配置SSH免密码登陆

ubuntu配置SSH免密码登陆 1.安装SSH:  2.是否生成 .ssh 目录: 3.如果没有生成,自己手动创建一个  .ssh 目录: 生成的 .ssh 目录: 4.生成公钥与私钥: 效果如下: 5.将公钥加入到用于认证的公钥文件中: 6.免密码登陆: 效果: Ubuntu 免密码登陆,SSH配置完.

ssh免密码登陆 - 服务器建立信任关系

假设机器A,B,C,要建立A为主,可以免密码直接ssh进入B,C.操作如下: 假设只用用户yimr建立信任,则使用yimr用户登陆主机A,执行如下操作: 产生公钥和私钥 ssh-keygen -t rsa 然后,在/home/用户/.ssh目录下,产生id_rsa, id_rsa.pub文件 将公钥复制到BC节点 scp .ssh/id_rsa.pub B:/home/用户名/.ssh/A.pub 进入BC节点,将公钥放在authorized_keys文件中 cat .ssh/A.pub >>

中小企业最基本的实用的ssh-key秘钥方案之ssh免密码登陆实战  

一.实验环境 本次实验需至少两台机器,本文采用三台机器做讲解.        服务器       ip     是否为分发机     nfs-server 10.0.0.11          是   web-client01 10.0.0.12          否   web-client02 10.0.0.13          否 二.实施步骤 1.添加系统账号(即普通用户)分别使用了三台机器,一台为分发机,另两台为被分发机.在企业环境中,很多用户直接用root来操作,这样好很不规范,权

设置SSH 免密码登陆

设置dns: vi /etc/hosts 最后一行追加; ip 主机名 设置SSH 免密码登陆: telnet 远程连接,SSH(secure shell)加密的通信协议,加密方式:rsa或者dsa root 目录下   ls -a  有.ssh 文件(存放密钥) ssh-keygen -t rsa  (三次回车) cd .ssh/    cp  id_rsa.pub  authorized_keys(生成授权文件) .ssh 文件夹rw-r--r--(g和0没有写的权限,u有写的权限) had

SSH 免密码登陆失败的一种原因,StrictModes

偶然因素帮别人配置ssh免密码登陆失败, ~/.ssh目录权限700,其下所有文件权限600,却依然失败.ssh -v 后发现密钥验证未通过,使用密码验证. 后来还是搜索得来,有人把ssh的StrictModes关闭就可以了,赶紧试了一下,果然可以. 于是搜了一下StrictModes限制的什么, 找到这么一段话 StrictModes no #修改为no,默认为yes.如果不修改用key登陆是出现server refused our key(如果StrictModes为yes必需保证存放公钥的

hadoop学习笔记(五)——全分布模式下SSH免密码登陆的实现

1)  设置3台机器的网络配置,并统一用户名,root除外 master:192.168.2.10 slave1:192.168.2.11 slave2:192.168.2.12 2)  SSH免密码登陆思想 因为三个节点要相互访问,所以,三个节点都是客户端,也都是服务器端,我们分别在三个节点上创建一对密钥文件,密钥文件包括公钥文件(~/.ssh/id_rsa.pub)和私钥文件 (~/.ssh/id_rsa). 客户端在使用ssh登录到其他节点上的时候,ssh会发送私钥去和其他节点上的公钥去匹

ssh免密码登陆设置时Authentication refused: bad ownership or modes错误解决方法

问题 设置ssh免密码登陆的时候,发现有一些机器设置不生效.有一些机器正常. 跟踪 登陆目标机器,查看sshd的日志信息.日志信息目录为,/var/log/secure你会发现如下字样的日志信息.Jul 22 14:20:33 v138020.go sshd[4917]: Authentication refused: bad ownership or modes for directory /home/xinhailong 原因 sshd为了安全,对属主的目录和文件权限有所要求.如果权限不对,

Jenkins进阶系列之——09配置Linux系统ssh免密码登陆

ssh认证的完整描述:https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/ 说明:点我去查看 今天我们只说生成ssh的key,从而达到免密码登陆的目的. 不知道ssh是什么的自己看说明.好了,不废话了. 系统:CentOS 5.8 确认用户 确认当前用户是你需要的用户! $ whoami froad #froad用户,根据你自己的需求选择用户.我这儿用froad用户演示. 生成key $ cd ~ #回到用户目录,

ssh免密码登陆设置时bad ownership or modes for file 报错的解决办法

问题:密钥登陆时报如下错误:May 13 10:11:26 keep sshd[25103]: Authentication refused: bad ownership or modes for file /home/git/.ssh/authorized_keys 原因:sshd为了安全,对属主的目录和文件权限有所要求.如果权限不对,则ssh的免密码登陆不生效.用户目录权限为 755 或者 700,就是不能是77x..ssh目录权限一般为755或者700.rsa_id.pub 及author