前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos7 ssh免密登录(shell脚本)

centos7 ssh免密登录(shell脚本)

作者头像
ByteBye
发布2019-09-24 16:40:25
1.9K0
发布2019-09-24 16:40:25
举报
文章被收录于专栏:ByteByeByteBye

centos7sshshell

centos7 ssh免密登录(shell脚本)

环境(centos7)

hostname

ip

node

192.168.100.199

node1

192.168.100.101

node2

192.168.100.102

1.分别修改主机名

代码语言:javascript
复制
hostnamectl set-hostname <hostname>

2.分别修改hosts

代码语言:javascript
复制
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.199 node
192.168.100.101 node1
192.168.100.102 node2

3.在node上执行下面的脚本

代码语言:javascript
复制
#!/bin/bash
yum -y install expect
#PWD登录密码
PWD=111111
ips=$(cat /etc/hosts |grep -v "::" | grep -v "127.0.0.1")
key_generate() {
    expect -c "set timeout -1;
        spawn ssh-keygen -t rsa;
        expect {
            {Enter file in which to save the key*} {send -- \r;exp_continue}
            {Enter passphrase*} {send -- \r;exp_continue}
            {Enter same passphrase again:} {send -- \r;exp_continue}
            {Overwrite (y/n)*} {send -- n\r;exp_continue}
            eof             {exit 0;}
    };"
}
auto_ssh_copy_id () {
    expect -c "set timeout -1;
        spawn ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@$1;
            expect {
                {Are you sure you want to continue connecting *} {send -- yes\r;exp_continue;}
                {*password:} {send -- $2\r;exp_continue;}
                eof {exit 0;}
            };"
}
rm -rf ~/.ssh
key_generate
for ip in $ips
do
    auto_ssh_copy_id $ip  $PWD
done

4. 然后node就可以免密登录到其他节点

PS. 手动设置免密登录需要用到的命令

代码语言:javascript
复制
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

本文由 bytebye 创作 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • centos7 ssh免密登录(shell脚本)
    • 环境(centos7)
      • 1.分别修改主机名
        • 2.分别修改hosts
          • 3.在node上执行下面的脚本
            • 4. 然后node就可以免密登录到其他节点
              • PS. 手动设置免密登录需要用到的命令
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档