1. 程式人生 > >ssh免密登陸指令碼

ssh免密登陸指令碼

執行指令碼前面需要先配置好/etc/hosts檔案的ip對映,這個指令碼是根據hosts檔案的ip進行免密登陸配置的
密碼可以自己修改PWD_1
執行需要聯網需要聯網

#!/bin/bash
#yum安裝expect
yum -y install expect
#PWD_1是登陸密碼,可以自己設定
PWD_1=123456
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 [email protected]$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_1 done

本指令碼還有不完善的地方就是免密登陸只是單向進行,不能夠互相的的免密登陸,哪個大神能夠寫個更完整的請貼到下面評論區,謝謝

相關推薦

ssh登陸指令碼

執行指令碼前面需要先配置好/etc/hosts檔案的ip對映,這個指令碼是根據hosts檔案的ip進行免密登陸配置的 密碼可以自己修改PWD_1 執行需要聯網需要聯網 #!/bin/bash

ssh登陸

sshssh免密登陸ssh無密碼登錄要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以CentOS為例。系統:CentOS7主機:A(192.168.66.100);B(192.168.66.110)為方面,用戶都為root1、在A下生成公鑰/私鑰對命令: ssh-ke

Linux--ssh登陸

退出 ssh str restart 註釋 找到 authent 兩個 重啟 前期配置: 以root身份登錄。 退出點擊other,登陸root即可。 修改主機名並重啟。 vim /etc/sysconfig/network 改為node1 vi /etc/s

Centos7實現ssh登陸

manage oca sent centos7 main with false SQ present 1通過ssh-copy-id的方式 1 [root@localhost ~]# ssh-copy-id -i root@worker1 2 /usr/bin/ssh-

Linux多臺主機間配置SSH登陸

包含 生成 目錄 apt 裏的 html .cn 密碼 查看 1.安裝ssh. sudo apt-get install ssh. 安裝完成後會在~目錄(當前用戶主目錄,即這裏的/home/xuhui)下產生一個隱藏文件夾.ssh(ls -a 可以查看隱藏文件)。如果沒有

shell腳本配置ssh登陸

add home copy The authorize code 本地 ont 參數 通過shell腳本配置免密登陸,分為兩個腳本,一個是配置文件config.env,一個是正式腳本sshkey.sh。 # config.envexport HOST_USER=(root

Centos7 配置ssh登陸以及遇到的問題

同樣以Ubuntu為例,假設使用者名稱為u: 1)確認已經連線上網際網路,然後輸入命令: sudo apt-get install ssh 2)配置為可以免密碼登入本機。首先檢視在u使用者下是否存在.ssh資料夾(注意ssh前面有“.”,這是一個隱藏資料夾),輸入命令: ls –a

解決Centos6.4叢集配置ssh登陸仍然需要輸入密碼問題

遇到的問題展示:   Ssh免密登陸配置成功之後仍然需要輸入密碼,找了很多方法,最後已解決,現把解決辦法的詳細過程記錄下來,希望對你有幫助。。。       解決辦法:   一、準備工作   1、安裝ssh服務 執行rpm -q

分散式系統詳解--框架(Hadoop-Ssh登陸配置)

              分散式系統詳解--框架(Hadoop-Ssh免密登陸配置)          配置Ssh非常簡單,其實就是為了避免將來叢集機器變得很多導致操作本機、

大資料入門(5)配置ssh登陸

登陸的115 1、使用ssh登陸     ssh  192.168.1.116      輸入密碼     登陸成功     退出:exit 2、

自動設定ssh登入指令碼

自動設定ssh免密登入指令碼 `#!/bin/bash #yum安裝expect yum -y install expect #PWD_1是登陸密碼,可以自己設定 PWD_1=123456 ips=$(cat /etc/hosts |grep -v “::” | grep -v “127

配置ssh登陸

免密配置 執行命令 ssh-keygen ,一路回車,在當前使用者 ~.ssh下會有三個檔案(id_rsa,id_rsa.pub,known_hosts), 再新增一個authorized_keys 檔案,將你想免密的機器全部如此配置,將所有機器的id_rsa.pub 內容拷貝進author

Linux Hadoop叢集搭建第二步:--------SSH登陸

內容和Linux 搭建 Hadoop叢集--Jdk配置 相關聯 三臺虛擬機器的操作 Linux SSH免密登陸: 參考網址:http://www.cnblogs.com/999-/p/6884861.html 第一步:在master主機上 vim /etc/ssh/sshd_config 

伺服器配置ssh登陸

之前為了測試方便,買了個國內的低配VPS用於部署java測試,配置為1核2G、2M頻寬上線、20GSSD,雖然是個乞丐版的配置,但是部署一下幾個常用服務端程式還是差不多夠了。然後當天,我一心歡喜的裝上JDK、mysql、zookeeper等程式,但是之後一個禮拜不到,我發現我

SSH登陸設定

ssh免密碼輸入        命令: ssh-keygen -t rsa     回車回車回車...       檢視鑰匙鏈 先 cd /root/.ssh

Linux的ssh登陸

第一種情況兩臺主機連結: Linux主機1   ipxxxxxx1 win10主機2或者Linux主機2    ipxxxxxx2   在Linux主機1中操作 第一步:選擇目錄 cd .ssh 第二步:生成金鑰,冒號直接空格或者填

配置linux主機到windows主機ssh登陸

接上篇,從linux主機scp檔案到windows主機,每次輸入密碼肯定不現實。 所以需要配置linux主機到windows主機ssh免密碼,cd /home/你的使用者/.ssh/,如果裡面有id_

普通使用者ssh登陸完美解決(Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password))

又很久沒寫部落格了,今天寫一篇很有用的。嘿嘿,剛解決了問題,搞得我三天沒睡好覺。 現在一身輕鬆,希望同樣問題的小夥伴能解決同樣的問題,睡個好覺,也是給自己留個筆記。 ssh免密登陸(我是使用hado

expect 批量自動部署ssh 登陸 之 二

ket secret continue host parameter gen serve pass tip #!/usr/bin/expect -f ########################################## hutu #Push the

expect 批量自動部署ssh 登陸 之 三

server each user keygen known pass targe ash loss #!/bin/bash ########################################## zhichao.hu #Push the id.pas.