日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSH 配置

發(fā)布時間:2025/3/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSH 配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SSH

批量管理


SSH介紹

SSH是Secure Shell Protocol的簡寫,由IETF網(wǎng)絡(luò)工作小組(Network working Group)指定;在進行數(shù)據(jù)傳輸之前,SSH先對聯(lián)機數(shù)據(jù)包通過加密技術(shù)進行加密處理,加密后在進行數(shù)據(jù)傳輸。確保了傳遞的數(shù)據(jù)安全

SSH是專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供的安全性協(xié)議。利用SSH協(xié)議可以有效的放置遠程管理過程中的信息泄露問題,在當前的生產(chǎn)環(huán)境運維工作中,絕大多數(shù)企業(yè)普遍采用SSH協(xié)議服務(wù)來代替?zhèn)鹘y(tǒng)的不安全的遠程聯(lián)機服務(wù)軟件,如telnet(23端口,非加密)?
在默認狀態(tài)下,SSH服務(wù)主要提供了兩個服務(wù)功能,一個是提供類似Telnet遠程聯(lián)機服務(wù)器的服務(wù),即上面提到的SSH服務(wù);另一個是類似FTP服務(wù)的sftp-server,借助SSH協(xié)議來傳輸數(shù)據(jù)的,提供更安全的SFTP服務(wù)(vsftp,proftp)

SSH客戶端(SSH命令)還包含一個遠程安全拷貝命令scp,也是通過ssh協(xié)議工作?

ssh小結(jié)

1、SSH是安全的加密協(xié)議,用于遠程連接linux服務(wù)器?
2、SSH默認端口是22,安全協(xié)議版本SSH2,除了2之外還有SSH1(漏洞)?
3、SSH服務(wù)端主要包含兩個服務(wù)協(xié)議SSH遠程連接,SFTP服務(wù)?
4、Linux SSH客戶端包含ssh遠程連接命令,以及遠程拷貝scp命令

SSH結(jié)構(gòu)

SSH服務(wù)由服務(wù)端軟件OpenSSH (openssl)和客戶端(常見的有SSH(linux),SecureCRT,Putty,Xshell)組成,SSH服務(wù)默認使用22端口提供服務(wù),它有兩個不兼容的SSH協(xié)議版本分別是1.x和2.x

檢查安裝SSH

  • [root@web01 ~]# rpm -qa openssh
  • openssh-5.3p1-111.el6.x86_64 遠程連接安裝包
  • [root@web01 ~]# rpm -qa openssl
  • openssl-1.0.1e-42.el6.x86_64 加密安裝包
  • OpenSSH同時支持SSH?1.x和2.x?用SSH 2.x的客戶端程序不能鏈接到SSH1.x的服務(wù)程序上

    SSH服務(wù)是一個守護進程(daemon),他在后臺運行并響應(yīng)來自客戶端的連接請求,SSH服務(wù)端的進程名為sshd,負責(zé)實時監(jiān)聽遠程SSH客戶端的連接請求,并進行處理,一般包括公共密鑰認證、密鑰交換、對稱密鑰加密和非安全連接等。

    SSH客戶端包含ssh以及像scp(遠程拷貝)slogin(遠程登錄)sftp(安全FTP文件傳輸)等應(yīng)用程序

    SSH的工作機制大致是本地的ssh客戶端發(fā)送一個連接請求到遠程的ssh服務(wù)器,服務(wù)器檢查連接的客戶端發(fā)送的數(shù)據(jù)包和ip地址,如果確認合法,就會發(fā)送密鑰給SSH的客戶端,此時,客戶端本地再將密鑰發(fā)回給服務(wù)端,自己建立連接。SSH1.x和SSH2.x在連接協(xié)議上有一些安全方面的差異

    SSH加密技術(shù)

    SSH加密技術(shù)是將人類可以看得懂的數(shù)據(jù),通過一定的特殊的程序算法,把這些數(shù)據(jù)變成雜亂的無意義的信息,然后,通過網(wǎng)絡(luò)進行傳輸,二擋到了目的地后,在通過對應(yīng)的解密算法,把傳過來的加密的數(shù)據(jù)信息解密成加密前的可讀取的正常數(shù)據(jù)。因此,當數(shù)據(jù)在互聯(lián)網(wǎng)上傳輸時即使被有心的黑客監(jiān)聽竊取了,也很難獲取到真正需要的數(shù)據(jù)?
    網(wǎng)絡(luò)上的數(shù)據(jù)包加密技術(shù)一般是通過所謂的一對公鑰和私鑰(Public key and Pivate key)組合撐的密鑰對進行加密與解密操作。?

    SSH 1.x?
    每一臺SSH服務(wù)器主機都可以使用RSA加密方式來產(chǎn)生一個1024-bit的RSA Key 這個RSA的加密方式就是用來產(chǎn)生公鑰和私鑰的算法之一。?
    當服務(wù)啟動時,就會產(chǎn)生一個768 bit的臨時公鑰存放在Server中

  • [root@m01 ~]# grep ServerKey /etc/ssh/sshd_config
  • #ServerKeyBits 1024
  • SSH 2.x?
    在SSH 1.x的聯(lián)機過程中,當Server接收Clinet端的Private Key后,就不再針對該次聯(lián)機的Key pair進行檢驗。若此時有而已黑客對該聯(lián)機key pair插入而已的程序代碼時,由于服務(wù)端你不會在檢驗聯(lián)機的正確性,因此可能會接收該程序代碼,從而導(dǎo)致系統(tǒng)被黑?
    為了改正這個缺點,SSH version2多加了一個確認聯(lián)機正確性的Diffie-Hellman機制?
    在每次數(shù)據(jù)傳輸中,Server都會以該機制檢查數(shù)據(jù)的來源是否正確,這樣,可以避免聯(lián)機過程中被插入而已程序代碼的問題?
    另外,SSH2同時支持RSA和DSA密鑰,但是SSH1僅支持RSA密鑰?
    由于SSH1協(xié)議本身存在較大問題,建議使用SSH2的聯(lián)機模式?
    當Client端SSH聯(lián)機請求傳送過來時,Server就會將這個768-bit的公鑰傳給Client端?
    此時Client會將此公鑰與先前存儲的公鑰進行對比,看是否一致,判斷標準是Client端聯(lián)機用戶目錄下~/.ssh/known_hosts文件的內(nèi)容(linux-客戶端)?

    不加用戶默認是root?不加-p?指定端口 默認是22

  • [root@m01 ~]# ssh -p52113 oldboy@10.0.0.41
  • The authenticity of host '[10.0.0.41]:52113 ([10.0.0.41]:52113)' can't be established.
  • RSA key fingerprint is 96:66:71:6c:ab:2f:8d:58:ce:2c:19:78:a7:ad:13:58.
  • Are you sure you want to continue connecting (yes/no)?
  • 不加賬戶默認是root

    連接密碼文件存放路徑

  • [root@backup /]# cat ~/.ssh/known_hosts
  • 10.0.0.7 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3KsbWJYe6fa2by0asfaZluclFBDtJH61HYG/jxxNEXhVqkGfdp2vN6tHroTFSMPdOHNbqOZICP8YQRpS9UMddfeZxWpf/+HwJLe+40J5eCVY/YgVaDIUVJrxVgkUfB4/XBoUawhSoqLQELnQHVeayHLvQSiZmlFYTaQ0Vb7g+qO7cUHdxi5/1zCplJhq9TMbz78yfWrwvP3iX6x/QdBX72OKUSS02b7KSwhfGj76OX56BmnQx8fVMMotrxTtWuRqYAw+BBtAjr197SZ4J0aJagWHod6HDxA4yfYebB/RuBtmd2va4+TqQtq6N2zvZ7Z5ud2drpZZmruIdGg91mlMLQ==
  • 如何防止SSH登錄入侵:

    1、用密鑰登錄,不用密碼登錄?
    2、牤牛陣法:解決SSH安全問題?
    3、防火墻封閉SSH,指定源限制(局域網(wǎng),信任公網(wǎng))?
    4、開啟SSH只監(jiān)聽本地內(nèi)網(wǎng)IP(ListenAddress 10.0.0.8)?
    5、盡量不給服務(wù)器外網(wǎng)IP

    遠程連接SSH服務(wù)

    ssh基本使用語法?
    ssh -p52113 oldboy@172.16.1.1?
    1. 連接遠程主機命令的基本語法?
    2.?-p小寫接端口,默認22端口時可以省略-p22?
    3.?-@?前面為用戶名,如果當前用戶連接,可以不指定用戶?
    4.?@后面為要連接的服務(wù)器的IP

    密鑰存儲路徑

  • [oldboy@m01 ~]$ cat ~/.ssh/known_hosts
  • 如果端口已修改為特殊端口,那么用上面命令連接就會發(fā)生問題

  • [oldboy@m01 ~]$ ssh -p22 oldboy@10.0.0.31
  • ssh: connect to host 10.0.0.31 port 22: Connection refused #提示拒絕連接
  • 保存的結(jié)果可能為:?
    1、no route to hosts?可能為防火墻?
    2、Connection refused?可能是防火墻,可能是連接端口錯誤

    遠程執(zhí)行命令(最好全路徑)?ssh -p 22 root@10.0.0.1 /sbin/ifconfig

    SSH小結(jié):

    1、切換到別的機器上?ssh -p52113 user@ip?
    2、到其他機器執(zhí)行命令(不會切到機器上)?ssh -p 52113 user@ip?命令?
    3、當?shù)谝淮蜸SH連接的時候,本地會產(chǎn)生一個密鑰文件~/.ssh/known_hosts

    SSH客戶端附帶的遠程拷貝scp命令

    scp的基本語法使用:scp -sercure copy?(remote file copy program)?
    ?PUSH?
    scp -P22 -rp /tmp/oldboy oldboy@10.0.0.1:/tmp?
    ?PULL

  • scp -P22 -rp root@10.0.0.1:/tmp/oldboy/ /tmp/
  • 參數(shù):?
    #→ -P(大寫)接接口,默認22 可以省略?
    #→-r 遞歸,表示拷貝目錄?
    #→-p 表示在拷貝前后保持文件或目錄屬性?
    # -l 限制速度

    scp 知識小結(jié):

    1、scp是加密的遠程拷貝,而cp僅為本地拷貝?
    2、可以把數(shù)據(jù)從一臺機器推送到另一臺機器,也可以從其他服務(wù)器把數(shù)據(jù)拉回到本地執(zhí)行命令的服務(wù)器?
    3、每次都是全量完成拷貝,因此效率不高,適合第一次拷貝用,如果需要增量拷貝,用rsync

    ssh服務(wù)附帶的sftp功能服務(wù)

    windows客戶端和linux服務(wù)器之間傳輸數(shù)據(jù)工具:

    1) rz、sz(lrzsz)?
    2) winscp WinSCP-v4.0.5 基于SSH,sftp?
    3) SFX(xshell) 4) SFTP 基于SSH加密傳輸?
    5) samba,http,ftp,nfs?
    FTP工具:vsftp、proftpd、SFTP

    linux sftp客戶端連接sftp服務(wù)方法

    登錄FTP的方法就是sftp oldboy@10.0.0.1?如果ssh端口為52113,則命令如下

  • [oldboy@m01 ~]$ sftp -oPort=52113 oldboy@10.0.0.31
  • Connecting to 10.0.0.31...
  • sftp> cd /home/oldboy
  • #還可以像命令行那些切換目錄

  • sftp> put /etc/hosts #把/etc/hosts
  • 從客戶端本地傳到nfs服務(wù)器當做連接目錄
  • Uploading /etc/hosts to /home/oldboy/hosts
  • /etc/hosts 100% 349 0.3KB/s 00:00
  • sftp>ls -l /home/oldboy #可以查看目錄
  • SSH服務(wù)認證類型介紹

    基于口令的安全驗證:

    基于口令的安全驗證的方式就是大家現(xiàn)在一直在用的,只要知道服務(wù)器的SSH端口號和口令,應(yīng)服務(wù)器的IP及開放的端口,默認都為22,就可以通過ssh客戶端登錄到主機,此時聯(lián)機過程中所有傳輸都是加密的

    基于密鑰的安全驗證:

    基于密鑰的安全驗證方式是指,需要依靠密鑰,也就是必須事先建立一對密鑰,然后把公用密鑰(Publickey)放在需要訪問的目標服務(wù)器上,另外,個還需要把私有密鑰(Private key)放到SSH客戶端或?qū)?yīng)的客戶端服務(wù)器上

    此時,如果要想連接到這個帶有公用密鑰的SSH服務(wù)器,客戶端SSH軟件或者客戶端端服務(wù)就會想SSH服務(wù)端發(fā)出請求,請求用聯(lián)機用戶密鑰進行安全連接。SSH服務(wù)會在收到請求之后,會現(xiàn)在改SSH服務(wù)器上連接的用戶的加密路下 放上去的對應(yīng)用戶密鑰,然后把它和連接的SSH客戶端發(fā)來進行密鑰,如果兩個密鑰一直SSH服務(wù)就會用公用密鑰加密“質(zhì)詢”(challenge)并把它發(fā)送給SSH客戶端?

    更改ssh默認登錄配置

    修改SSH服務(wù)的運行參數(shù),是通過修改配置文件/etc/ssh/sshd_config實現(xiàn)的?
    一般來說SSH服務(wù)使用默認的配置已經(jīng)夠很好的工作,如果對安全要求不高,僅僅提供SSH服務(wù)的情況不需要修改任何配置?
    sshd_config配置文件說明:?

    優(yōu)化SSH配置文件選項

  • [root@m01 etc]# cp /etc/ssh/sshd_config{,.ori} 修改配置文件前進行備份
  • [root@m01 etc]# vim /etc/ssh/sshd_config
  • Port 52113 //ssh連接端口默認為22,修改端口號可以提高級別
  • PermitRootLogin no //禁止root遠程登錄
  • PermitEmptyPasswords no //禁止空密碼的用戶登錄
  • UseDNS no //不使用DNS進行解析
  • GSSAPIAuthentication no //會導(dǎo)致SSH連接慢
  • SSH遠程連接服務(wù)慢的解決方案

  • 在這里我們可以使用`sed`進行一鍵替換
  • [root@m01 etc]# sed -r '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' /etc/ssh/sshd_config
  • 準備工作

    優(yōu)化SSH

    sed -i ’13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords?
    no\nUseDNS no\nGSSAPIAuthentication no’ /etc/ssh/sshd_config

  • sed -i '13 iPort 52113\nPermitRootLogin no \n 禁止root登錄
  • PermitEmptyPasswords no \n 禁止使用密碼
  • UseDNS no\n 禁用DNS
  • GSSAPIAuthentication no' 禁用GSSAPI
  • sshd_config
  • 檢查houst解析

  • cat >>/etc/hosts/ <<EOF
  • 172.16.1.5 lb01
  • 172.16.1.6 lb02
  • 172.16.1.7 web02
  • 172.16.1.8 web01
  • 172.16.1.51 db01 db01.etiantian.org
  • 172.16.1.31 nfs01
  • 172.16.1.41 backup
  • 172.16.1.61 m01
  • EOF結(jié)束
  • 實驗步驟

  • [root@m01 /]# useradd oldboy
  • [root@m01 /]# echo "123456"|passwd --stdin oldboy
  • [root@m01 /]# id oldboy
  • [root@m01 /]#su oldboy
  • [oldboy@web01 ~]$ ssh-keygen -t dsa //非交互式創(chuàng)建密鑰
  • #ssh-keygen是生產(chǎn)密鑰的工具 -t參數(shù)是指定密鑰的類型,這里是建立dsa類型密鑰?
    #也可以使用ssh-keygen -t?rsa來建立rsa類型密鑰?
    #RSA與DSA加密算法的區(qū)別?
    #RSA:是一種加密算法(PS:RSA也可以進行數(shù)字簽名的)它的簡寫的來由是RonRivest、Adi Shamir和LeonAdleman 這三個姓氏加在一起就是RSA?
    #DSA就是數(shù)字簽名算法的英文全稱的簡寫,即Digital Sigenature Algorithm=DSA?
    RSA既可以進行加密,也可以進行數(shù)字簽名實現(xiàn)認證,而DSA只能用于數(shù)字簽名

    腳本分發(fā)密鑰

  • yum install -y sshpass
  • ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa &>/dev/null
  • sshpass -p 123456 ssh -o StrictHostKeyChecking=no 用戶名@主機名
  • 一鍵產(chǎn)生密鑰對:

  • ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null 2>&1
  • echo?-e?"\n"|ssh-keygen?-t?dsa?-N?""
  • [oldboy@web01 ~]$ ll -la
  • total 28
  • drwx------. 3 oldboy oldboy 4096 May 6 00:59 .
  • drwxr-xr-x. 3 root root 4096 May 1 04:39 ..
  • -rw-------. 1 oldboy oldboy 25 May 5 18:58 .bash_history
  • -rw-r--r--. 1 oldboy oldboy 18 Jul 24 2015 .bash_logout
  • -rw-r--r--. 1 oldboy oldboy 176 Jul 24 2015 .bash_profile
  • -rw-r--r--. 1 oldboy oldboy 124 Jul 24 2015 .bashrc
  • drwx------ 2 oldboy oldboy 4096 May 6 00:59 .ssh 注意權(quán)限
  • [oldboy@web01 .ssh]$ ll
  • total 8
  • -rw------- 1 oldboy oldboy 668 May 6 00:59 id_dsa 私鑰=鑰匙
  • -rw-r--r-- 1 oldboy oldboy 602 May 6 00:59 id_dsa.pub 公鑰=鎖
  • [oldboy@web01 .ssh]$ssh-copy-id -i id_dsa.pub oldboy@10.0.0.41?
    ssh-copy-id?只能發(fā)公鑰,不能發(fā)私鑰?
    -i?代表發(fā)送的文件 代表默認發(fā)送(端口22情況)

  • [oldboy@web01 .ssh]$ ssh-copy-id -i id_dsa.pub “-p 52113 oldboy@10.0.0.41
  • 代表改變端口-p 后面加上修改后的端口即可

  • [oldboy@web01 ~]$ ssh-copy-id -i .ssh/id_dsa.pub oldboy@172.16.1.31
  • [oldboy@web01 ~]$ ssh-copy-id -i .ssh/id_dsa.pub "-p52113 oldboy@172.16.1.41"
  • SSH免密碼登錄小結(jié):

    1)免密碼登錄是單向的,方向從私鑰(鑰匙)==》公鑰(鎖)?
    2)SSH免密碼登錄基于用戶的,最好不要跨不同的用戶?
    3)ssh連接慢的問題解決

    例子:將本地hosts發(fā)送給指定的ip

    第一種?sudo?提權(quán)實現(xiàn)沒有權(quán)限用戶拷貝

  • [root@web01~]#echooldboyALL= NOPASSWD:/usr/bin/rsync ”>>/etc/sudoers
  • [root@web01~]#visudo -c
  • [oldboy@web01 ~]$scp -P52113 hosts oldboy@172.16.1.31:~ //最好發(fā)送到家目錄下,直接發(fā)送到/下是沒有權(quán)限
  • [oldboy@web01 ~]$ssh -p52113 -t oldboy@172.16.1.31 sudo rsync ~/hosts /etc/hosts
  • 需要授權(quán)sudo權(quán)限
  • 第二種?利用suid實現(xiàn)沒有權(quán)限用戶拷貝(了解即可,不建議使用)

  • [root@web01~]#chmod u+s `which rsync`
  • [oldboy@web01 ~]$scp -P52113 hosts oldboy@172.16.1.31:~
  • [oldboy@web01 ~]$ssh -p52113 oldboy@172.16.1.31 rsync ~/hosts /etc/hosts
  • 第三種?使用root進行操作?
    rsync使用

  • rsync -avz hosts -e ssh -p 52113oldboy@172.16.1.31:~
  • 1、可以增量備份?
    2、使用ssh隧道加密傳輸

    常用連接介紹:

    發(fā)送文件腳本

  • [cyh888@m01 ~]$ sh fenfa.sh hosts
  • hosts 10.0.0.41 is ok [ OK ]
  • hosts 10.0.0.31 is ok [ OK ]
  • [cyh888@m01 ~]$ cat hosts
  • 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  • ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  • 172.16.1.5 lb01
  • 172.16.1.6 lb02
  • 172.16.1.7 web02
  • 172.16.1.8 web01
  • 172.16.1.51 db01 db01.etiantian.org
  • 172.16.1.31 nfs01
  • 172.16.1.41 backup
  • 172.16.1.61 m01
  • ===================2016-05-08=====
  • [cyh888@m01 ~]$
  • 查看對方系統(tǒng)版本

  • [oldboy@web01 ~]$ sh view.sh
  • ====172.16.1.41====CentOS release 6.7 (Final)
  • ====172.16.1.31====CentOS release 6.7 (Final)
  • [oldboy@web01 ~]$ cat view.sh
  • #!/bin/sh
  • for n in 41 31
  • do
  • echo -n "====172.16.1.$n====" -n代表不換行
  • ssh -p 22 172.16.1.$n cat /etc/redhat-release
  • done
  • [oldboy@web01 ~]$ sh view.sh "cat /etc/redhat-release"
  • ====172.16.1.41====CentOS release 6.7 (Final)
  • ====172.16.1.31====CentOS release 6.7 (Final)
  • [oldboy@web01 ~]$ cat view.sh
  • #!/bin/sh
  • for n in 41 31
  • do
  • echo -n "====172.16.1.$n===="
  • ssh -p 22 172.16.1.$n $1 $1腳本當中第一個參數(shù)
  • done
  • [oldboy@web01 ~]$ sh view.sh “iostat”?查看系統(tǒng)中的IO

  • ====172.16.1.41====Linux 2.6.32-573.el6.x86_64 (backup) 05/06/2016 _x86_64_ (1 CPU)
  • avg-cpu: %user %nice %system %iowait %steal %idle
  • 0.01 0.00 0.14 0.10 0.00 99.76
  • Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
  • scd0 0.00 0.01 0.00 264 0
  • sda 0.18 4.90 0.77 99662 15746
  • ====172.16.1.31====Linux 2.6.32-573.el6.x86_64 (nfs01) 05/06/2016 _x86_64_(1 CPU)
  • avg-cpu: %user %nice %system %iowait %steal %idle
  • 0.03 0.03 0.22 0.20 0.00 99.53
  • Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
  • scd0 0.00 0.00 0.00 264 0
  • sda 0.51 14.88 12.88 1153072 997908
  • [oldboy@web01 ~]$ sh view.sh "free -m"
  • ====172.16.1.41====
  • total used free shared buffers cached
  • Mem: 475 107 367 0 11 34
  • -/+ buffers/cache: 60 414
  • Swap: 1023 0 1023
  • ====172.16.1.31====
  • total used free shared buffers cached
  • Mem: 475 417 57 0 28 288
  • -/+ buffers/cache: 100 374
  • Swap: 1023 0 1023
  • 腳本里面將echo -n中的-n取消即可
  • 批量分發(fā)文件:(housts)

  • [oldboy@web01 ~]$ scp -P22 hosts 172.16.1.41:~
  • hosts 100% 349 0.3KB/s 00:00
  • [oldboy@web01 ~]$ scp -P22 hosts 172.16.1.31:~
  • hosts 100% 349 0.3KB/s 00:00
  • 腳本內(nèi)容

  • [oldboy@web01 ~]$ sh fenfa.sh
  • hosts 100% 349 0.3KB/s 00:00
  • hosts 100% 349 0.3KB/s 00:00
  • [oldboy@web01 ~]$ cat fenfa.sh
  • #!/bin/sh
  • for n in 41 31
  • do
  • echo -n "====172.16.1.$n===="
  • scp -P22 hosts 172.16.1.$n:~
  • done
  • 另一種方法:

  • [oldboy@web01 ~]$ sh fenfa.sh hosts
  • hosts 100% 349 0.3KB/s 00:00
  • hosts 100% 349 0.3KB/s 00:00
  • [oldboy@web01 ~]$ cat fenfa.sh
  • #!/bin/sh
  • for n in 41 31
  • do
  • echo -n "====172.16.1.$n===="
  • scp -P22 $1 172.16.1.$n:~
  • done
  • 控制不輸入任何命令進行操作

  • [oldboy@web01 ~]$ sh fenfa.sh
  • USAGE:/bin/sh fenfa.sh FILENAME
  • [oldboy@web01 ~]$ cat fenfa.sh
  • #!/bin/sh
  • if [ $# -ne 1 ];then $#參數(shù)多少
  • echo "USAGE:/bin/sh $0 FILENAME" $0腳本名字
  • exit 1 1腳本執(zhí)行后的狀態(tài)
  • fi
  • for n in 41 31
  • do
  • echo -n "====172.16.1.$n===="
  • scp -P22 $1 172.16.1.$n:~ 對應(yīng)第一個執(zhí)行命令
  • done
  • [oldboy@web01 ~]$ sh fenfa.sh
  • USAGE:/bin/sh fenfa.sh FILENAME
  • [oldboy@web01 ~]$ sh fenfa.sh hosts 成功ok 失敗no
  • dis hosts to 172.16.1.41 [ OK ]
  • dis hosts to 172.16.1.31 [ OK ]
  • 腳本內(nèi)容

  • #!/bin/sh
  • . /etc/init.d/functions
  • if [ $# -ne 1 ];then
  • echo "USAGE:/bin/sh $0 FILENAME"
  • exit 1
  • fi
  • for n in 41 31
  • do
  • scp -P22 $1 172.16.1.$n:~ &>/dev/null
  • if [ $? -eq 0 ];then
  • action "dis $1 to 172.16.1.$n" /bin/true
  • else
  • action "172.16.1.$n" /bin/false
  • fi
  • done
  • expect語言 解決非交互式輸入密碼的問題?
    yum -y install expect?默認不存在需要安裝

  • [root@m01 ~]# which expect
  • /usr/bin/expect
  • ssh+rsync+sersync簡單易用?
    Saltstack?
    pupet?大網(wǎng)站用?
    ansible?(不需要客戶端)?
    cfengine?(已淘汰)

    SSH批量管理步驟:

    1、ssh優(yōu)化和hosts解析?
    2、創(chuàng)建用戶?
    3、生成密鑰對?
    4、分發(fā)公鑰到所有服務(wù)器?ssh-copy-id?
    5、測試 遠程連接ssh?遠程執(zhí)行命令ssh ifconfig?
    遠程拷貝文件scp rsync-e隧道模式

    總結(jié)

    以上是生活随笔為你收集整理的SSH 配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。