工作中,有个sftp采集的功能,可以采用公钥私钥的方式认证。
製作不用密碼可立即登入的 ssh 用戶:
- 首先,先在 Client 上面建立 Public Key 跟 Private Key 這兩把鑰匙,利用的指令為 ssh-keygen 這個命令;
- 再來,將 Private Key 放在 Client 上面的家目錄,亦即 $HOME/.ssh/ ,並且修改權限為僅有該 User 可讀的狀態;
- 最後,將那把 Public Key 放在任何一個您想要用來登入的主機的 Server 端的某 User 的家目錄內之 .ssh/ 裡面的認證檔案即可完成整個程序。
在 Client 端建立 Public 與 Private Key :
建立的方法真的是簡單到不行!直接在Client端,使用 ssh-keygen 這個指令來進行 Key 的產生即可!
$ ssh-keygen -t rsa <==這個步驟在產生 Keys
这样會在我的家目錄底下的 .ssh/ 這個目錄裡面產生所需要的兩把 Keys ,分別是私鑰(id_rsa)與公鑰(id_rsa.pub)。
在 Client 端放置私鑰:
在預設的條件中,我們的私鑰必需要放置在家目錄底下的 .ssh 裡面。需要去調整他了。
在 Server 端放置可以登入的公鑰:
1. 采用scp命令将Client端生成上传到Server端用户的家目录下
2. 將公鑰轉存到 authorized_keys 檔案中!
cat id_rsa.pub >> authorized_keys
由於 authorized_keys 可以保存相當多的公鑰內容。因此,使用 >> 的方式來將 Client 端的公鑰新增到該檔案內!
参照http://linux.vbird.org/linux_server/0310telnetssh/0310telnetssh.php#ssh_connect