MacBook Pro 下 Alias + ssh免密登陸 =>造成腳本提升效率

#① MacBook Pro 下Bash Shell and Zsh 利用Alias 簡化命令

直接上菜

1.編輯vim ~/.bash_profile,若是你之前沒新建過,那麼新建它;有的話就打開修改添加。
     若是是zsh的話,vim ~/.zshrc,道理相同,在最後面追加就好咯。

    2.添加alias 9.2="ssh root@192.168.9.2"    !!!等號先後不能出現空格!!!

    3.bash下執行"source ~/.bash_profile",此條命令是使bash從新載入配置令剛纔命令生效。
      若是是zsh,就source ~/.zshrc

    4.之後須要使用上述複雜命令,只需在bash or zsh 中輸入"9.2"便可。

now不用每次都手動輸入ssh root@192.168.9.2這種命令了,可是仍是須要輸入密碼,那麼咱們如何實現免密登陸呢?這就是下面第二條

#② MacBook Pro 下Bash Shell 實現ssh免密登陸 Mac和遠程Linux服務器SSH自動登陸設置 第一步:生成密鑰。在終端下執行命令: ssh-keygen -t rsa 一路回車,各類提示按默認不要改,等待執行完畢。而後執行: ls ~/.ssh #能夠看到兩個密鑰文件:id_rsa(私鑰) id_rsa.pub(公鑰) #公鑰是加密,私鑰是解密(不要外傳私鑰) 第二步:放置公鑰到Linux服務器。使用scp命令: scp ~/.ssh/id_rsa.pub root@192.168.9.2:/root/.ssh/ 而後把id_rsa.pub的內容加入到服務器端的默認驗證文件authorized_keys,執行: #先登陸到遠程服務器 cd ~/.ssh cat -n /root/.ssh/id_rsa.pub >> authorized_keys #將公鑰內容加入到authorized_keys文件,有的話添加(有的話不要刪掉,由於別人可能作過免密登陸呀),沒有則新建一個就行vim

以上比較要注意的是: 公鑰要放在登陸服務器所用的帳號的家目錄下,好比你用 abc登陸遠程服務器,就要把公鑰 放到 /home/abc/.ssh/下, authorized_keys文件也是在這個目錄下。

若是要設置不少服務器,這樣不免會麻煩不少,仍是須要手動去設置不少服務器,因而我寫了兩個腳本

腳本一:腳本名字first.exp

    #!/usr/bin/expect

    set ip [lindex $argv 0]
    set pw [lindex $argv 1]

    spawn scp ~/.ssh/id_rsa.pub root@$ip:/root/.ssh/authorized_keys
    expect "*yes/no*" {send "yes\r";exp_continue} "password:" {send "$pw\r"}
    expect eof
該腳本執行便可,每次執行都須要輸入兩個參數,機器ip和機器密碼,好比: ./first.exp 192.168.9.2 password
也能夠寫個腳本for循環,見腳本二:
腳本二:repeat.sh
    #! /bin/sh

    for num in `seq 1 6`
    do
        ./first.exp "192.168.9.${num}"  "123456"
    done
執行該腳本./repeat.sh 便可同時搞定192.168.9.1——6這六臺機器的免密登陸~

well done~bash

###donation: 若有捐贈意向的朋友,請捐贈到支付寶帳號:qdcccc@gmail.com 帳戶名:楊春煉服務器

###ask for help: 如需幫助,請加QQ:1028750558或微信:lian-ye微信

相關文章
相關標籤/搜索