我设法使用以下命令手动登录到我的托管服务提供商:
ssh -i /path/to/key-ssh me@mydomain.com
Run Code Online (Sandbox Code Playgroud)
然后服务器要求输入密码,登录成功。
现在我想自动化一个 MySQL 备份,所以我需要使用 shell 脚本登录。(要明确:我的提供商需要密钥对和密码才能登录)
然后我尝试使用 sshpass:
sshpass -p 'MYPASSWORD' ssh me@mydomain.com
Run Code Online (Sandbox Code Playgroud)
权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic)。
然后我尝试了这个:
sshpass -p 'MYPASSWORD' ssh -i /path/to/key-ssh me@mydomain.com
Run Code Online (Sandbox Code Playgroud)
有了这个,远程服务器根本不响应(提示冻结)
我的服务器运行 Debian 8.10 (Jessie)
我知道使用 sshpass 存在安全风险,但我是唯一一个使用该服务器的人。我也尝试过 automysqlbackup,但它让我头疼,试图让它通过 ssl 工作。
通过 SSH 自动备份似乎是最简单的解决方案(我不再那么确定了......)
服务器不会要求您输入密码。您输入的是保护您的私钥的密码。
要在无需输入密码的情况下自动登录,您首先必须删除密码。您可以通过以下命令执行此操作:
ssh-keygen -p
Run Code Online (Sandbox Code Playgroud)
但是,请小心将您的私钥保存在安全的地方,因为没有密码任何人都可以使用它。
归档时间: |
|
查看次数: |
170 次 |
最近记录: |