----------------------------**********-------------------------------------------------bash
免密碼登錄服務器
第一步:ssh
執行:ssh-keygen -t rsa,並一直回車,直到結束
系統/root/.ssh/下面會生成 id_rsa(私鑰)和 id_rsa.pub(公鑰) 兩個文件
第二步:spa
進入到文件夾下面 cd /root/.ssh 把id_rsa.pub 拷貝到目標服務器的/root/.ssh(例如:目標服務器111.111.111.111) scp ./id_rsa.pub root@111.111.111.111:/root/.ssh 出現提示輸入yes,並輸入目標服務器的密碼便可
第三步:code
登錄目標服務器,到 /root/.ssh目錄下面 執行:cat ./id_rsa.pub >> authorized_keys 到此,即完成免密登錄
在原目標的服務器執行 ssh root@111.111.111.111 便可登錄,無需輸入任何信息 之後,其它服務器,只須要執行第二步跟第三步,除非,原服務器生成的密鑰有變更,這樣均可以實現免密登錄
----------------------------**********-------------------------------------------------blog
遠程操做ip
第一種:it
因爲上面已經實現免密碼登錄,因此能夠直接執行相應命令class
result=`ssh root@111.111.111.111 "cd /home;touch kkk.txt &> /dev/null;"'echo $?'` echo $result
注意:result=後面是添加鍵盤上面跟 ~ 一塊兒的同按鍵 ` 並非句號跟分號變量
第二種:
ssh root@111.111.111.111 > /dev/null 2>&1 << kkmmccc cd /home touch abcdefg.txt exit kkmmccc
遠程執行的命令在「<< kkmmccc」 至「 kkmmccc 」之間,kkmmcc能夠隨便替換,但必須保持開頭跟結尾一致,加exit是退出遠程,也可把此程序寫成一個sh文件直接執行
第三種:
帶有變量的操做,經過定義一個sh直接執行
#!/bin/bash #遠程替換的源文件絕對路徑 sfile=/home/a.txt #遠程替換的目標文件絕對路徑 dfile=/home/a.txt #目標ip dip=111.111.111.111 #目標端口 dport=22 #將要執行的命令 command="cd /home;touch ceshi.txt" #進行遠程替換文件 scp -P ${dport} ${sfile} ${dip}:${dfile} &> /dev/null #進行遠程執行命令 result=`ssh -p ${dport} root@${dip} "${command} &> /dev/null;"'echo $?'` #判斷遠程執行命令是否成功,經過$result判斷 if [ $result -eq 0 ]; then echo "命令執行成功" else echo "命令執行失敗" fi