主要是在mac下利用自帶的終端登錄虛擬機中的ubuntu系統。用的是virtualbox,虛擬機網咯為NAT模式,設置端口轉發,本機的10000對應虛擬機的22端口。22端口是ssh的默認端口。(如果是login遠程主機,這些端口的配置可以省略)。
首先,在編輯/etc/hosts文件,添加虛擬機主機的IP解析,在127.0.0.1后加入需要login的主機hostname。
運行
ssh-keygen
一路默認。生成一個.ssh目錄,包含兩個文件id_rsa以及id_rsa.pub。其中id_rsa是私鑰,id_rsa.pub是公鑰。在~/.ssh/目錄下配置文件config。
Host remotehostname
Hostname remotehostname
Port 10000
User userThatLoginRemoteHost
chmod 600 ~/.ssh/config
權限必須設置為600,否則無法正常工作。此時ssh remotehostname,會需要輸入密碼,以及記錄Hostkey。若要免密登錄,需要將本機用戶的公鑰拷貝至remotehost ~/.ssh/authorized_keys。由於mac沒有ssh-copy-id,使用scp來進行文件傳輸。
scp ~/.ssh/id_rsa.pub user@remotehostname:~/.ssh/id_rsa_tmp.pub In remotehost: mv id_rsa_tmp.pub authorized_keys chmod 600 authorized_keys
編輯本機文件config:
echo "IdentityFile ~/.ssh/id_rsa" >> config
此時要登錄遠程主機:
ssh remotehost