2011年12月19日 星期一

SSH/SCP/SFTP不需要密碼驗證


舉個例子,ServerA 上的userA,要使用userB 登錄到ServerB上而不需要密碼驗證,那麼只需要把userAid_rsa.pub內容複製到userBauthorized_keys中就可以實現了.

第一步:userA登錄ServerA, 使用命令
ssh-keygen -t rsa
生成rsa金鑰,可以全部預設回車,生成的2個檔,默認的保存位置在userAhome目錄下
其中公共金鑰保存在 ~/.ssh/id_rsa.pub
私有金鑰保存在 ~/.ssh/id_rsa
我們只需要id_rsa.pub檔裡的內容
bash-3.00# cat ~.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAztcDggXD9flN+i4X3xp94O+CWCigzSSz4w6bdPOHAZEt4rORo3+ujjju0rGEnp/VOp8oIXVTOAYBIx64iVgQPC25yzanQmeqWBAEFRw5eXW2Hn4rLgjb2nvJESM+TeH7VvVI86lBAYKxawfRxsVMv8dAD3iVh/rb6wdojkgR/vE= userA@ServerA
第二步:把這些內容複製到ServerB,具體位置在userBhome目錄下,~/.ssh/authorized_keys

bash-3.00# cat ~/.ssh/authorized_keys |grep ServerA
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAztcDggXD9flN+i4X3xp94O+CWCigzSSz4w6bdPOHAZEt4rORo3+ujjju0rGEnp/VOp8oIXVTOAYBIx64iVgQPC25yzanQmeqWBAEFRw5eXW2Hn4rLgjb2nvJESM+TeH7VvVI86lBAYKxawfRxsVMv8dAD3iVh/rb6wdojkgR/vE= userA@ServerA

這樣在userAserverA上使用userB登錄ServerB的時候就不需要輸入密碼了,包括ssh,scp,sftp都可以。

沒有留言: