2016-04-28 395 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:这意味着您的特定私钥需要密码。如果你想完全自动化,你需要生成一个不使用密码的新的公钥/私钥对,并将该公钥添加到服务器,以便登录。 –