當前位置:編程學習大全網 - 編程語言 - ssh,scp自動登陸的實現方法

ssh,scp自動登陸的實現方法

 示例 A為本地主機(即用於控制其他主機的機器) ;B為遠程主機(即被控制的機器Server) 假如ip為 ;A和B的系統都是Linux

 在A上運行命令:# ssh keygen t rsa (連續三次回車 即在本地生成了公鑰和私鑰 不設置密碼)# ssh root@ ? mkdir ssh; chmod ssh (需要輸入密碼)# scp ~/ ssh/id_rsa pub? root@ : ssh/id_rsa pub (需要輸入密碼)

 在B上的命令:# touch /root/ ssh/authorized_keys (如果已經存在這個文件 跳過這條)# cat /root/ ssh/id_rsa pub? >> /root/ ssh/authorized_keys (將id_rsa pub的內容追加到 authorized_keys 中)

 回到A機器:# ssh root@ (不需要密碼 登錄成功)

 如果能保護好自己的私鑰 這種方法相對在shell上輸入密碼 要安全壹些

  深入學習

 理解登錄過程首先 ssh keygen t rsa 命令生成了壹個密鑰和壹個公鑰 而且密鑰可以設置自己的密碼 可以把密鑰理解成壹把鑰匙 公鑰理解成這把鑰匙對應的鎖頭 把鎖頭(公鑰)放到想要控制的server上 鎖住server 只有擁有鑰匙(密鑰)的人 才能打開鎖頭 進入server並控制 而對於擁有這把鑰匙的人 必需得知道鑰匙本身的密碼 才能使用這把鑰匙 (除非這把鑰匙沒設置密碼) 這樣就可以防止鑰匙被人配了(私鑰被人復制)

 當然 這種例子只是方便理解罷了 擁有root密碼的人當然是不會被鎖住的 而且不壹定只有壹把鎖(公鑰) 但如果任何壹把鎖 被人用其對應的鑰匙(私鑰)打開了 server就可以被那個人控制了所以說 只要妳曾經知道server的root密碼 並將有root身份的公鑰放到上面 就可以用這個公鑰對應的私鑰 打開 server 再以root的身分登錄 即使現在root密碼已經更改!

 如果想控制n個機器 那就需要n對鑰匙(密鑰和公鑰) ssh keygen 命令可以隨意更改鑰匙對的名字 比如:[root@wwy ssh]# ssh keygen t rsaGenerating public/private rsa key pair Enter file in which to save the key (/root/ ssh/id_rsa): /root/ ssh/id_rsa_

 這樣私鑰和公鑰的名字分別就是:id_rsa_ 和 id_rsa_ pub然後將 id_rsa_ pub 文件的內容 追加到sever的 ~/ ssh/authorized_keys 文件中

 最後 在本地用ssh命令的 i 參數指定本地密鑰 並登錄:# ssh i /root/ ssh/id_rsa_ ?

 如果密鑰設置了密碼 就用密鑰的密碼登錄 沒設密碼 就直接登錄進去了

lishixinzhi/Article/program/qrs/201401/30217

  • 上一篇:附錄、DFT,DTFT,DFS,FT,FS-草稿
  • 下一篇:如何使用dllgetclassobject導出接口
  • copyright 2024編程學習大全網