1. 程式人生 > >linux之centos5.11安裝sshpass牽引出的rpm安裝方式

linux之centos5.11安裝sshpass牽引出的rpm安裝方式

.rpm roc 需要 lib rpm包 解決 密碼驗證 編譯器 kernel

shpass 是一個簡單、輕量級的命令行工具,通過它我們能夠向命令提示符本身提供密碼(非交互式密碼驗證)。簡單說就是一個可以讓你將密碼輸入放到命令行運行的工具;

如:sshpass? -p? 123456? scp ? /root/file? ? [email protected]:/root/? 就是將運行命令的服務器上root下的file文件scp復制到192.168.88.88的root下,還可以加? -r? 參數,傳輸文件夾;
Debian和centos安裝都可以自己的源來安裝:
? ? ? ? ? ? ? ? ? Debian :? ? apt-get? ?install? ?sshpass? ? ? ?;? ? ? centos :? ?yum? install? sshpass? ?;

我安裝的時候是碰上了centos5.x的系統,大家應該知道centos的yumyuam已經停止更新了,就是不能用了,所以yum安裝是行不通的,於是就下載了安裝包,用安裝包來安裝;

這裏下載的是??sshpass-1.06.tar.gz? ;下載到了 /usr/local/src/? 下;

tar xzvf sshpass-1.06.tar.gz? ? ? ? ? ? ? ?//解壓

cd sshpass-1.06? ? ? ? ? ? ? ? ? ?//進入目錄

./configure? ? ? ? ? ? ? ? ? ? ? ? //執行腳本編譯
技術分享圖片
報錯了,什麽意思呢;他說是沒有C編譯器;那好,沒有就安裝;

但是忘了這是centos5.x ,yum無法安裝; 不過還好rpm還可以使用,趕緊換安裝包方式安裝;

找了一個以前的iso鏡像,centos5的;
技術分享圖片

裏面有個centos的文件夾(我這是事先解壓出來的),這個文件夾裏都是centos的包;

搜索找到 gcc 的rpm包? :??gcc-4.1.2-55.el5.x86_64.rpm? ;

用遠程連接(隨便你用什麽方法)放到服務器上,然後執行 :? ?rpm -ivh gcc-4.1.2-55.el5.x86_64.rpm? ? ?安裝;
技術分享圖片

又報錯.....說是這個gcc包需要一個glibc-devel的包,好,那就去centos裏面找;

找到後上傳到服務器:? ?glibc-devel-2.5-123.x86_64.rpm? ;

執行? rpm -ivh glibc-devel-2.5-123.x86_64.rpm? 安裝 ;

技術分享圖片

好,他說這個包又需要 glibc-headers 包;那就接著找包,上傳......
技術分享圖片
安裝?glibc-headers 又說需要?kernel-headers 包;接著找??kernel-headers ;然後執行命令安裝;
技術分享圖片
可以了,安裝成功;說明已經不需要其他包了;將需要的包再倒著依次安裝;

安裝??glibc-headers-2.5-123.x86_64.rpm ;
技術分享圖片
安裝??glibc-devel-2.5-123.x86_64.rpm? ?;
技術分享圖片

最後再安裝??gcc-4.1.2-55.el5.x86_64.rpm? ;
技術分享圖片
現在C編譯器已經可以使用了;可以繼續 sshpass的安裝了;

在sshpass目錄下:

./configure? ? ? ? ??

make? ? ? ? ? ? ? ? //make編譯

make install? ? ? //編譯安裝

ok,這樣就可以使用sshpass命令了;

備註:

我當時的環境是兩個局域網的服務器,而且也都安裝了密鑰,
在使用sshpass命令的時候會出現? ? ? ?Host key verification failed(主機密鑰驗證失敗。)的錯誤;
技術分享圖片
網上說將? /root/.ssh/known_hosts? 裏面的服務器密鑰刪掉或者將這個文件刪掉就可以,個人試了一下,沒成功;

用別的方法解決的;

先用 scp 命令復制文件過去,會問你? yes 還是 no ,再讓你輸入密碼;當這樣傳輸一次成功後,再用這個sshpass命令進行免密傳輸就可以了,這可能是服務器的一種安全驗證機制,原理我也不太清楚

linux之centos5.11安裝sshpass牽引出的rpm安裝方式