[精讚] [會員登入]
1167

[FREEBSD11] ssh登入時免輸入密碼

自動程式需要進到別台機器時,沒辦法使用交談式方式輸入密碼,發現一個簡單的方法設定

分享此文連結 //n.sfs.tw/13436

分享連結 [FREEBSD11] ssh登入時免輸入密碼@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-08-17 09:52:43 最後編修
2019-08-17 09:52:03 By 張○○
 

自動目錄

自動程式需要進到別台機器時,沒辦法使用交談式方式輸入密碼,所以要預先交換好金鑰,這是傳統的作法[1]:

   1. 產生公私金錀
   2. 把公錀加到目標機器中帳號中的目錄下的 ~/.ssh/authorized_keys 中

後來發現 [網管心得]ssh keygen用法@外行中的外行提供一個方法,超級好用的,例如要登入192.168.1.1這台機器:

$ ssh-copy-id username@192.168.1.1

這是一台FREEBSD的機器,我如法泡製時,出現這樣的錯誤:

ssh-copy-id root@163.22.168.5:~
Could not open a connection to your authentication agent.
no keys found

嗯,它說你要有keys?

 

解決方法

一、建立 KEYS PAIR

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <<按ENTER>>
Enter passphrase (empty for no passphrase):<<按ENTER>>
Enter same passphrase again:<<按ENTER>>
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ADHoATx9efwH5QSRNIIvRrL3ucT0Zjx9HwYqvRHJpJU root@myhost
The key's randomart image is:
+---[RSA 2048]----+
|o...+.+..==o.    |
| ooo B o.o+E     |
| ...= + . *..    |
|  .. + + o = .   |
|    o = S + o .  |
|       = B = . o |
|      . + o + o .|
|       .   .   . |
|                 |
+----[SHA256]-----+

於是乎,在家目錄下的隱藏目錄會出現兩個檔案,因為我是 root:

  id_rsa
  id_rsa.pub

 

二、把公鑰複製到遠端機器

$ ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.1.1
Password for root@servername: <<打入密碼>>

這樣就完成了,試著登入看看

$ ssh 192.168.1.1

發現不用再打密碼了

 

參考資料

 

[1] ssh keygen 免輸入密碼 https://blog.longwin.com.tw/2005/12/ssh_keygen_no_passwd/

[2] [網管心得]ssh keygen用法@外行中的外行

[3] https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-freebsd-server

[4] Man ssh-copy-id

END

你可能感興趣的文章

[Freebsd] 查看dhcp客戶端 Freebsd如何能知道目前的租約及有效狀態

[Freebsd14] 安裝bind9 安裝dns服務器bind9 記錄

[Freebsd] 使用者的定時排程 crontab Freebsd 下若使用者要建立自己的 crontab,方法和 root來建有一些不同。

Freebsd 套件和套件有關的指令 在 Freebsd 上的套件(packages)要如何安裝,可以自行下載檔案解壓編譯,或是利用 ports。

[Freebsd] 利用pf達成port forwarding 及nat 為了達成port forwarding 及NAT 的功能,不斷思考加上試了三天終於試出來。

[FREEBSD] 使用 logrotate 來管理及備份日誌檔 Unix 系統中的日誌檔存放在 /var/log/ 中,可供我們查錯及觀察使用。日誌檔最大的問題是會不斷的長大。

隨機好文

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

看懂DSUB DVI HDMI USB等各式影音接頭 看懂DSUB DVI HDMI等各式影音接頭

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

問問題 問問題其實內涵很深,我悟了很久才懂。 有人問題的目的並不一定是想要得到答案,有時只是純粹想問問題..

[MAC] 安裝APACHE+PHP OS Darwin OpenIDMac1deAir 15.6.0 Darwin Kernel Version 15.6.