天天看點

linux ssh遠端登入_mac實作ssh的免密遠端登入

linux ssh遠端登入_mac實作ssh的免密遠端登入

筆者之前做計算需要用mac遠端登入linux叢集,由于每次登陸都需要重複輸入指令:

ssh -p 22 [email protected]
           

以及密碼,是以希望通過此篇文章記錄下mac免密登陸的設定方法。

1.打開本地終端(Terminal),運作:(若本地有私匙和公匙則直接從第二步開始)
ssh-keygen
           

終端出現提示一:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/wangyaowei/.ssh/id_rsa):
           

點選回車:

終端出現提示二:

/Users/wangyaowei/.ssh/id_rsa already exists.
Overwrite (y/n)?
           

筆者之前已經設定過免密登陸,為了友善示範選擇y,繼續點選回車:

終端出現提示三:

Enter passphrase (empty for no passphrase):
           

無需設定密碼,繼續點選回車:

此時會生成一個.ssh目錄,包含兩個檔案id_rsa以及id_rsa.pub。其中id_rsa是私鑰,id_rsa.pub是公鑰。(.ssh檔案夾前面的點代表此檔案夾是隐藏的,無法通過ls指令看到但可以用cd .ssh進入)

2進入.ssh目錄,在目前目錄下配置config檔案。可以用vim指令建立一個名為“config”的文本,具體内容為:(需要根據自己的情況修改)
Host ji
HostName 10.11.11.3
Port 22
User um008
           

然後運作:

chmod 600 ~/.ssh/config
           

chmod是檔案/目錄權限設定指令,這是Linux系統管理者最常用到的指令之一,它用于改變檔案或目錄的通路權限。600代表隻有屬主有讀寫權限。權限必須設定為600,否則無法正常工作。

3.使用scp指令将” id_rsa.pub”檔案拷貝到遠端(叢集),具體指令行為:

或者cat ” id_rsa.pub”,并将其copy到叢集~/.ssh/authorized_keys檔案中。

scp ~/.ssh/ id_rsa.pub [email protected]: ~/.ssh/
           

[email protected]需要根據自己的叢集位址定義,之後登陸遠端,仍需要輸入密碼。

4.登陸上遠端之後,進入.ssh檔案夾
cd ~/.ssh
           

将公匙” id_rsa.pub”改名為” authorized_keys”,運作:

mv id_rsa.pub authorized_keys
           

之後設定” authorized_keys”檔案權限:

chmod 600 authorized_keys
           

退後遠端後,即可用ssh ji指令在本地登陸遠端叢集。

Q:如果我叢集的名字是ji12345678,,每次打這個名字還是很麻煩,該怎麼辦呀?

在第二步,配置”config”檔案的時候,可以将Host後面的名字改成任意,如果喜歡改成1都可以。之後ssh 1即可登陸。

筆者是linux系統初學者,借此平台記錄學習心得,争取每周更新一些關于python,linux以及計算材料學的相關知識,歡迎大家讨論。

繼續閱讀