[精讚] [會員登入]
1460

[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 建立/刪除/修改使用者+特權使用者 Freebsd 下使用者建立、刪除、修改使用者,新增特權使用者

[FREEBSD] 使用ADSL撥接程式為何 我在家架了一台 FREEBSD 的SERVER,其中ADSL設定和操作

Freebsd11+sudo 使用sudo模組讓帳號具有root權限 linux系列中很好用的sudo,在freebsd中也可以使用

[Freebsd] 建立ramdisk Freebsd 建立ramdisk,作為高速的暫存空間

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

[Freebsd10] 使用者的crontab Freebsd 使用者的排程crontab和 root 層級的不太一樣

隨機好文

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

NETCRAFT發現你的網站及作業系統 NETCRAFT可以發現你的網站及作業系統

[NetBeans] 使用git複製別人的專案 NetBeans使用git複製別人的專案及版本控制

「許功蓋」的字以及源由 有玩過電腦一段時間的人,都聽過這個人(有一天我才發現7年級的竟然都不認識這個

在Centos7 下安裝 Wildfly10 wildfly以前叫JBoss,2014.11.20改名叫Wildfly,起始版本是Wildfly8,現在已經出到Wil