免密碼 SSH 連線、遠端上傳下載檔案

SSH 公開金鑰認證(Public Key Authentication)的使用方式,讓你不用打密碼就可以直接登入 Linux。

也紀錄如何直接使用 ssh 與本地端電腦傳送檔案

本地端電腦

建立 ~/.ssh 目錄,並以 ssh-keygen 產生金鑰:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keygen

按照提示輸入資訊,原則上連續按下 Enter 即可,成功後會於  ~/.ssh 底下產生兩個檔案

  • id_rsa.pub:公開金鑰(public key),這是可以對外公開的金鑰,之後要將它放在遠端的 Linux 伺服器上作認證使用。
  • id_rsa:私密金鑰(private key),這是要保護好的金鑰,它等同於你的 Linux 密碼,放在自己的電腦中。

使用 cat 印出公開金鑰內容,待下個步驟複製到遠端電腦

cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NxxxxxxxxgE= davidyang@daviddeMBP

遠端電腦

建立 ~/.ssh 目錄,並建立 authorized_keys 檔案:

mkdir ~/.ssh
touch ~/.ssh/authorized_keys

使用 nano 或 echo 指令寫入:

echo "ssh-rsa AAAAB3NxxxxxxxxgE= davidyang@daviddeMBP" > ~/.ssh/authorized_keys 

重新啟動生效設定

/etc/init.d/sshd restart

遠端電腦連線

回到本地端電腦,使用指令 ssh USER@HOST ,設定成功的話會直接登入 , 如下: 

ssh ubuntu@192.168.58.99

使用 ssh 複製或上傳檔案

  • 將 檔案/資料夾 從遠端 Ubuntu 機拷至本地(scp)
    $scp -r ubuntu@192.168.58.99:/home/ubuntu/code ./
  • 將 檔案/資料夾 從本地拷至遠端 Ubuntu 機(scp)
    $scp -r code ubuntu@192.168.58.99:/home/ubuntu/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *