目前正在使用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脚本
使用给定的密钥和复制文件在没有密码的情况下登录答案 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或stpsftp -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/