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/