一、打開ssh
Mac Terminal是自帶SSH的,可以用whereis來看看:
$ whereis ssh
但是在現有進程中找不到ssh對應的進程:
$ ps aux | grep ssh apple 25927 0.0 0.0 2432784 616 s000 R+ 3:14下午 0:00.00 grep ssh
直接用ssh命令連接本地主機或遠程主機時會遇到下列錯誤提示:
ssh: connect to host localhost port 22: Connection refused
谷歌了一下,原因在於系統設置中沒有打開遠程登錄,參見: How do I open port 22 in osx 10.6.7
解決方法:
打開系統偏好設置 —— 共享,選中遠程登錄:
輸入ssh localhost來測試一下,如果提示輸入密碼來認證就沒問題了。
此時再grep一下進程可以看到ssh進程在運行了:
$ ps aux | grep ssh apple 4656 0.0 0.0 2525056 1540 ?? S 三02下午 0:00.19 /usr/bin/ssh-agent -l apple 26009 0.0 0.0 2432784 612 s000 R+ 3:19下午 0:00.00 grep ssh
二、ssh和scp
接下來可以通過ssh命令來連接其它主機,例如:
ssh username@192.168.100.100
其中username為要登錄的主機的用戶名,192.168.100.100為要登錄的主機的IP地址。
要查看當前有多少個處於登錄狀態的用戶,可以使用who命令查看。
scp命令可以在本地主機和遠程主機之間傳輸文件,簡單的使用如下:
$ scp .zshrc username@192.168.100.100:/Users/username/
該命令將當前路徑下的.zshrc文件復制到遠程主機的/Users/username目錄下。
這樣就可以免去重新設置一遍.zshrc的麻煩了。
參考資料:
http://www.tuicool.com/articles/YreMV3v
如果輸入的username@host是錯誤的,那么shell將無任何提示,只有輸入正確的地址,才會要求我們輸入命令認證,從而進行下一步的動作。