1. 程式人生 > >使用ssh遠端登陸linux

使用ssh遠端登陸linux

SSH是linux中,遠端登入會話的一種安全協議
linux伺服器上,一般都已經集成了ssh的服務端軟體,並自啟;
如果需要在linux上用ssh客戶端去登入別的linux伺服器,則需要安裝ssh的客戶端,
我的linux安裝了openssh-client,所以在這裡就不安裝了,如果你的系統沒有安裝的話
yum -y install openssh-clients.x86_64 (-y 自動選擇y,全自動)

  1. 在linux中遠端登入另一臺linux
    ssh centos2沒有指定登入者身份,預設用當前會話的身份
    前提是已經在/etc/hosts檔案下新增
    在這裡插入圖片描述
    在這裡插入圖片描述
    否則使用ssh 192.168.137.11
    ssh

    [email protected] 指定以使用者lee來登入遠端的centos2 ( 前提lee使用者在centos2存在)

  2. 從一臺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"

  3. 從一臺linux遠端拷貝檔案到另一臺linux
    scp 遠端拷貝(前提是兩臺linux上都必須有這個scp程式)
    拷貝檔案:
    scp ./a.txt [email protected]:/root/
    拷貝資料夾:
    scp -r ./aaa/ cts02:/root/

  4. SSH免密驗證(金鑰)配置
    ssh會話一定會驗證登陸者的身份!
    驗證的機制有兩種:
    a) 使用者名稱+密碼驗證
    b) 金鑰驗證
    請求方需要事先建立一對金鑰(公鑰,私鑰; 私鑰自己持有,公鑰交給目標機器)
    實現步驟:
    在A機器(centos)上生成金鑰對:
    ssh-keygen


    在這裡插入圖片描述
    將生成好的公鑰註冊給目標機器(centos2):
    ssh-copy-id centos2在centos2的/root下會生成一個.ssh的隱藏檔案,公鑰在裡面
    反過來centos2到centos要免密也要做同樣的操作