您好,登錄后才能下訂單哦!
這篇文章主要講解了“ssh,scp怎么實現自動登陸”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ssh,scp怎么實現自動登陸”吧!
示例:
A為本地主機(即用于控制其他主機的機器) ;
B為遠程主機(即被控制的機器Server), 假如ip為192.168.60.110;
A和B的系統都是Linux
在A上運行命令:
# ssh-keygen -t rsa (連續三次回車,即在本地生成了公鑰和私鑰,不設置密碼)
# ssh root@192.168.60.110 "mkdir .ssh; chmod 0700 .ssh" (需要輸入密碼)
# scp ~/.ssh/id_rsa.pub root@192.168.60.110:.ssh/id_rsa.pub (需要輸入密碼)
在B上的命令:
# touch /root/.ssh/authorized_keys2 (如果已經存在這個文件, 跳過這條)
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys2 (將id_rsa.pub的內容追加到 authorized_keys2 中)
回到A機器:
# ssh root@192.168.60.110 (不需要密碼, 登錄成功)
如果能保護好自己的私鑰, 這種方法相對在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 rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_192.168.102.12
......
這樣私鑰和公鑰的名字分別就是:
id_rsa_192.168.102.12 和 id_rsa_192.168.102.12.pub
然后將 id_rsa_192.168.102.12.pub 文件的內容, 追加到sever的 ~/.ssh/authorized_keys2 文件中。
最后, 在本地用ssh命令的 -i 參數指定本地密鑰, 并登錄:
# ssh -i /root/.ssh/id_rsa_192.168.102.12 192.168.102.12
如果密鑰設置了密碼, 就用密鑰的密碼登錄, 沒設密碼, 就直接登錄進去了
scp也是一樣的
如:
scp -i /root/.ssh/id_rsa./xxx 192.168.102.158:/home/wwy/bak
感謝各位的閱讀,以上就是“ssh,scp怎么實現自動登陸”的內容了,經過本文的學習后,相信大家對ssh,scp怎么實現自動登陸這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。