HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    shell腳本實(shí)現(xiàn)ssh登錄(shell腳本ssh登錄服務(wù)器)

    發(fā)布時(shí)間:2023-03-14 03:33:43     稿源: 創(chuàng)意嶺    閱讀: 110        問大家

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于shell腳本實(shí)現(xiàn)ssh登錄的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來(lái)看看吧。

    ChatGPT國(guó)內(nèi)免費(fèi)在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    本文目錄:

    shell腳本實(shí)現(xiàn)ssh登錄(shell腳本ssh登錄服務(wù)器)

    一、【shell】CentOS7.x上sshpass的安裝使用

    OpenSSH 自帶的 ssh 客戶端程序(也就是 ssh命令)默認(rèn)不允許你以非交互的方式傳遞密碼。

    很多時(shí)候我們?cè)诖_定安全的情況下,對(duì)ssh的交互登錄"深惡痛絕",所以就需要進(jìn)行免密登錄。

    ssh登陸不能在命令行中指定密碼,sshpass的出現(xiàn),解決了這一問題。

    sshpass用于非交互SSH的密碼驗(yàn)證,一般用在sh腳本中,無(wú)須再次輸入密碼(本機(jī)known_hosts文件中有的主機(jī)才能生效)。它允許你用 -p 參數(shù)指定明文密碼,然后直接登錄遠(yuǎn)程服務(wù)器,它支持密碼從命令行、文件、環(huán)境變量中讀取。

    ssh命令, 沒有指定密碼的參數(shù). 以至于在腳本中使用ssh命令的時(shí)候, 必須手動(dòng)輸入密碼, 才能繼續(xù)執(zhí)行. 這樣使得腳本的自動(dòng)化執(zhí)行變得很差, 尤其當(dāng)ssh對(duì)應(yīng)的機(jī)器數(shù)很多的時(shí)候, 會(huì)令人抓狂.使用非交互式樣有兩種方式: 一種借助expect腳本, 一種借助sshpass來(lái)實(shí)現(xiàn)。

    # wget https://nchc.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz

    # tar  zxf sshpass-1.06.tar.gz

    # cd sshpass-1.06

    # ./configure  --prefix=/usr/local/

    # make && make install

    # yum -y install sshpass

    # yum info sshpass

    注:如果用rpm的方式安裝ansible,sshpass是作為依賴安裝的。

    # sshpass -h

    # sshpass -p "123456" ssh   -o 'StrictHostKeyChecking=no'    root@192.168.1.100

    # sshpass -p "123456" ssh  -o 'StrictHostKeyChecking=no'    root@192.168.1.100   -v

    注:第一次登陸務(wù)必加上   -o 'StrictHostKeyChecking=no'   選項(xiàng),或者保險(xiǎn)起見,每次加上

    non-interactive ssh password auth

    https://nchc.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz

    sshpass 用法舉例

    https://www.cnblogs.com/nf01/articles/10756100.html

    Linux ssh命令詳解

    https://www.cnblogs.com/ftl1012/p/ssh.html

    sshpass的使用方法

    https://www.cnblogs.com/misswangxing/p/10637718.html

    用expect做服務(wù)器的批量互信

    https://www.jianshu.com/p/632e7efb59f5

    二、Linux。。shell 腳本中經(jīng)常要用到ssh??墒莝sh又要交互式輸密碼。怎么能不交互的輸密碼呢?

    1、登錄A機(jī)器

    2、ssh-keygen -t [rsa|dsa],將會(huì)在~/.ssh下生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

    3、將 .pub 文件復(fù)制到B機(jī)器的 .ssh 目錄, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys

    4、大功告成,從A機(jī)器登錄B機(jī)器的目標(biāo)賬戶,不再需要密碼了(直接運(yùn)行 #ssh 192.168.1.100 )

    面交互輸入,就得使用expect腳本,例:

    #!/bin/bash

    passwd='123456'

    /usr/bin/expect <<-EOF

    set time 30

    spawn ssh root@192.168.1.100

    expect {

    "*yes/no" { send "yes\r"; exp_continue }

    "*password:" { send "$passwd\r" }

    }

    expect "*#"

    send "cd /home/trunk\r"

    expect "*#"

    send "ls\r"

    expect "*#"

    send "exit\r"

    interact

    expect eof

    EOF

    三、怎么在一個(gè)shell腳本中執(zhí)行遠(yuǎn)程主機(jī)的另一個(gè)shell腳本?? ssh已經(jīng)可以無(wú)密碼登錄了。

    假設(shè)你要操作的是遠(yuǎn)程服務(wù)器

    IP為:1.1.1.1

    操作的腳本是 :/home/a.sh

    操作命令為

    ssh 1.1.1.1 “/bin/bash /home/a.sh”

    四、如何使用shell腳本修改linux的登陸密碼

    編寫mssh.sh腳本

    內(nèi)容如下

    1.

    #!/usr/bin/expect

    -f

    2.

    #auto

    ssh

    login

    3.

    set

    timeout

    30

    4.

    set

    sshhost

    [lindex

    $argv

    0]

    5.

    spawn

    ssh

    -llizongbo

    -p13800

    $sshhost

    6.

    expect

    “password:”

    7.

    send

    “l(fā)izongbo_618119\r”

    8.

    interact

    給文件加上可執(zhí)行權(quán)限

    chmod

    +x

    ./mssh.sh

    如果文件默認(rèn)有其它權(quán)限,建議最好設(shè)置為只能自己讀取,修改和執(zhí)行

    chmod

    700

    ./mssh.sh

    測(cè)試成功:

    ./mssh.sh

    618119.com

    直接登錄到了

    618119.com

    以上就是關(guān)于shell腳本實(shí)現(xiàn)ssh登錄相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    Sheisacat翻譯(she is tall翻譯)

    washingup什么意思

    English趣味記憶法(teacher趣味記憶法)

    景觀設(shè)計(jì)方案內(nèi)容(景觀設(shè)計(jì)方案內(nèi)容怎么寫)

    校園景觀存在的問題(校園景觀存在的問題及改造建議ppt)