centos實現免密登陸及遠程操作


----------------------------**********-------------------------------------------------

免密碼登陸

第一步:

執行:ssh-keygen -t rsa,並一直回車,直到結束

系統/root/.ssh/下面會生成 id_rsa(私鑰)和 id_rsa.pub(公鑰) 兩個文件

第二步:

進入到文件夾下面   cd /root/.ssh

把id_rsa.pub 拷貝到目標服務器的/root/.ssh(例如:目標服務器111.111.111.111)

scp ./id_rsa.pub root@111.111.111.111:/root/.ssh

出現提示輸入yes,並輸入目標服務器的密碼即可

第三步:

登陸目標服務器,到 /root/.ssh目錄下面

執行:cat ./id_rsa.pub >> authorized_keys

到此,即完成免密登陸

在原目標的服務器執行 ssh root@111.111.111.111 即可登陸,無需輸入任何信息 以后,其它服務器,只需要執行第二步跟第三步,除非,原服務器生成的密鑰有變動,這樣都可以實現免密登陸

----------------------------**********-------------------------------------------------

遠程操作

 第一種:

由於上面已經實現免密碼登陸,所以可以直接執行相應命令

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM