使用ssh遠端登陸linux
SSH是linux中,遠端登入會話的一種安全協議
linux伺服器上,一般都已經集成了ssh的服務端軟體,並自啟;
如果需要在linux上用ssh客戶端去登入別的linux伺服器,則需要安裝ssh的客戶端,
我的linux安裝了openssh-client,所以在這裡就不安裝了,如果你的系統沒有安裝的話
yum -y install openssh-clients.x86_64
(-y 自動選擇y,全自動)
-
在linux中遠端登入另一臺linux
ssh centos2
沒有指定登入者身份,預設用當前會話的身份
前提是已經在/etc/hosts檔案下新增
否則使用ssh 192.168.137.11
ssh
指定以使用者lee來登入遠端的centos2 ( 前提lee使用者在centos2存在) -
從一臺linux上傳送一個遠端指令給另一臺遠端linux去執行
ssh cts02 "command"
例:ssh centos2 "mkdir /root/xyz"
java程式啟動
java -cp x.jar:y.jar:z.jar (要執行的jar,:
分割) com.test.App (全包名的類)
傳送遠端指令執行java程式示範:
ssh centos2 "/root/install/jdk1.8.0_60/bin/java -cp /root/hello.jar HelloWorld > /root/hello.log"
或者ssh centos2 "source /etc/profile;java -cp /root/x.jar HelloWorld"
-
從一臺linux遠端拷貝檔案到另一臺linux
scp
遠端拷貝(前提是兩臺linux上都必須有這個scp程式)
拷貝檔案:
scp ./a.txt [email protected]:/root/
拷貝資料夾:
scp -r ./aaa/ cts02:/root/
-
SSH免密驗證(金鑰)配置
ssh會話一定會驗證登陸者的身份!
驗證的機制有兩種:
a) 使用者名稱+密碼驗證
b) 金鑰驗證
請求方需要事先建立一對金鑰(公鑰,私鑰; 私鑰自己持有,公鑰交給目標機器)
實現步驟:
在A機器(centos)上生成金鑰對:
ssh-keygen
將生成好的公鑰註冊給目標機器(centos2):
ssh-copy-id centos2
在centos2的/root下會生成一個.ssh的隱藏檔案,公鑰在裡面
反過來centos2到centos要免密也要做同樣的操作