如何使用private / public key- imported-openssh-key登录ssh服务器而不提供密码

时间:2016-04-28 13:25:28

标签: shell ssh ssh-keys private-key openssh

目前正在使用Filezilla从远程服务器进行复制。复制文件后需要手动操作复制并完成其他任务。所以我需要编写shell脚本来复制并执行进一步的任务。但我面对使用私钥/公钥登录服务器。我有一个密钥文件,其中包含以下内容:

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脚本

使用给定的密钥和复制文件在没有密码的情况下登录

2 个答案:

答案 0 :(得分: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>--

实际上我们需要使用pass-phrase或没有pass-phrase来生成我们自己的私钥。然后我们可以使用自己的私钥登录服务器。

在此url

中生成私钥的步骤

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

生成私钥后,我们可以使用:

执行ssh login或stp
sftp  -oIdentityFile=<generated_private_key>  <user>@<ftp_server>:<remote_directory>

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

我们可以将重要性stp_command用于自动化任务: http://www.csee.umbc.edu/courses/104/fall05/ordonez/sftp_cmds.shtml

现在我可以在远程FTP服务器上登录和列出文件后编写shell脚本。如果有什么困惑。请评论。

答案 1 :(得分:0)

您需要将私钥放在客户端计算机上的文件中,然后:

ssh -i /path/to/ssh/key USER@HOSTNAME

这是一个教程:https://support.rackspace.com/how-to/logging-in-with-an-ssh-private-key-on-linuxmac/