您好,登錄后才能下訂單哦!
方法一:
使用下例中ssky-keygen和ssh-copy-id,僅需通過3個步驟的簡單設置而無需輸入密碼就能登錄遠程Linux主機。
ssh-keygen 創建公鑰和密鑰。
ssh-copy-id 把本地主機的公鑰復制到遠程主機的authorized_keys文件上。
ssh-copy-id 也會給遠程主機的用戶主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設置合適的權限 。
加密方式選 rsa|dsa均可以,默認dsa
步驟1: 用 ssh-key-gen 在本地主機上創建公鑰和密鑰
ssh-keygen -t rsa
步驟2: 用 ssh-copy-id 把公鑰復制到遠程主機上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.103.117
[注: ssh-copy-id 把密鑰追加到遠程主機的 .ssh/authorized_key 上.]
步驟3: 直接登錄遠程主機
ssh 192.168.103.117
[注: SSH 不會詢問密碼.]
4、設置文件和目錄權限:
設置authorized_keys權限
$ chmod 600 authorized_keys
設置.ssh目錄權限
$ chmod 700 -R .ssh
注意:如果是通過其他的工具生成的公鑰和私鑰的話,則只需要吧公鑰上傳到服務器,~/.ssh/authorized_keys,,并更改目錄和文件的相應權限,
chmod 700 -R .ssh
chmod 600 -R authorized_keys
總結注意事項
1、文件和目錄的權限千萬別設置成chmod 777.這個權限太大了,不安全,數字簽名也不支持。我開始圖省事就這么干了
2、生成的rsa/dsa簽名的公鑰是給對方機器使用的。這個公鑰內容還要拷貝到authorized_keys
3、linux之間的訪問直接 ssh 機器ip
4、某個機器生成自己的RSA或者DSA的數字簽名,將公鑰給目標機器,然后目標機器接收后設定相關權限(公鑰和authorized_keys權限),這個目標機就能被生成數字簽名的機器無密碼訪問了
實現無密碼登錄
通過上面可以實現無密碼登錄,但使用的是密鑰登錄的,下面介紹如何使用ssh不需要密碼,進行登錄系統的。
vim /etc/ssh/sshd_config
改這一行,去掉#號,并把no改成yes
PermitEmptyPasswords yes
vim /etc/shadow
把中間的密碼刪掉
bob::17130:0:99999:7:::
最后重啟sshd服務
service sshd restart
最后使用bob用戶登錄,不會提示密碼,就直接登錄進去了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。