雖然使用公鑰驗證是一個提高SSH安全數據傳輸的很好的方法。傳輸SSH身份密鑰也會是一件痛苦的事情。首先,你要創建你的密鑰對。然後,你把公鑰復制到所有你希望登錄機器的正確位置。密鑰必須是一種特殊的格式,你必須到一個有正確權限的特定目錄。
幸運的是 ssh-copy-id,一個OpenSSH裡面的小工具,讓這一切變得簡單。
SSH 是一個安全的遠程管理工具,提供許多處理的捷徑及能力。 比如,你可以登錄然後,執行一個遠程命令,而這一切只需要一個命令。而不用首先登錄,再輸入命令:
carla@host1:~$ ssh terry@host2 ls ~
這是一個有意思的例子並且有一個小玄機- ls ~ 會列出 Carla的 home 目錄,而不是 Terry的。如果你想看 Terry的 home 目錄你必須使用 ls /home/terry.做這些你只需要輸入一要命令。比如啟動一個備份腳本,查看進程或者打印一份文檔。
$ ssh-copy-id -i id_rsa.pub terry@host2
ssh-copy-id 用正確的格式復制身份密鑰。要確保文件權限及屬主是正確的並且要確定,私鑰不會被意外上傳。
使用基於密鑰的認證而非密碼認證,表示你不用洩露你的系統密碼。為了讓管理多台遠程機器更加簡單,你可以使用你所想要的任何名字創建密鑰,就像下面這樣:
$ ssh-keygen -t rsa -f id_apacheserver
要連接的時候,你可以容易使用正確的定密鑰:
$ ssh -i id_apacheserver [email protected]
最後,不要忘記強大的 sshfs 命令,用它來加載一個遠程文件系統。這比Samba及NFS服務器速度都要快。首先創建 一個本地目錄作為掛載點,然後加載遠程文件系統:
$ sshfs hostname:/remotedir localdir/
現在你就可以,像操作本地文件一樣操作這個遠程文件系統了