2016-04-28 397 views
1

目前Filezilla正用於從遠程服務器進行復制。有需要手動操作需要複製並完成複製文件後的其他進一步的任務。所以我需要編寫shell腳本來複制並執行進一步的任務。但我面對登錄服務器使用私人/公共密鑰。我有一個包含以下內容的密鑰文件:如何使用私鑰/公鑰來登錄ssh服務器而無需提供密碼 - imported-openssh -key

puTTY-User-Key-File-2: ssh-rsa 
Encryption: none 
Comment: imported-openssh-key 
Public-Lines: 6 
--<Public_key> 

Private-Lines: 14 
---<Private_key>-- 

Private-MAC: --<some text>-- 

Filiezilla正在成功連接並正確使用密鑰。

我已經花了很多小時的谷歌搜索,但無法得到適當的解決方案。 請建議我我如何不使用密碼使用給定的密鑰登錄並使用shell腳本

回答

1

最後,我做了研究和訪問許多網站後,我得到了自己的問題的解決方案。 PPK文件包含:

puTTY-User-Key-File-2: ssh-rsa 
Encryption: none 
Comment: imported-openssh-key 
Public-Lines: 6 
--<Public_key> 
Private-Lines: 14 
---<Private_key>-- 

Private-MAC: --<some text>-- 

實際上,我們需要生成自己的私鑰或者與密碼短語或不口令短語。然後我們可以使用自己的私鑰登錄服務器。

步驟生成此url

https://kb.paessler.com/en/topic/32883-how-can-i-use-private-keys-for-my-ssh-sensors-with-prtg

私鑰生成私鑰後,我們就可以用做ssh登錄或STP:

sftp -oIdentityFile=<generated_private_key> <user>@<ftp_server>:<remote_directory> 

ssh -i <generated_private_key> <user>@<ftp_server> 

我們可以使用自動化的任務重要stp_commandhttp://www.csee.umbc.edu/courses/104/fall05/ordonez/sftp_cmds.shtml

現在我可以在遠程FTP服務器上登錄和列出文件後編寫shell腳本。如果有什麼困惑。請發表評論。

0

複製文件,你需要把文件中的私鑰本身在客戶機上,然後:

ssh -i /path/to/ssh/key [email protected] 

這裏有一個教程:https://support.rackspace.com/how-to/logging-in-with-an-ssh-private-key-on-linuxmac/

+0

約翰,謝謝你的回覆,我遵循你的方式。之後,出現以下提示: '輸入密鑰'private_key.txt'的密碼:' – Ramgau

+0

@Ramgau:這意味着您的特定私鑰需要密碼。如果你想完全自動化,你需要生成一個不使用密碼的新的公鑰/私鑰對,並將該公鑰添加到服務器,以便登錄。 –