有没有办法自动将密码传递给ssh.我想自动ssh到服务器而不使用公钥认证或期望脚本,通过某种方式获取ssh从stdin或文件读取密码. 它必须是这样的原因是我想使用作为cron作业运行的rsync
它必须是这样的原因是我想使用作为cron作业运行的rsync / ssh将我的文件备份到服务器.此服务器在对我进行身份验证后安装我的主目录,因此使用公钥身份验证不起作用,因为〜/ .ssh在登录成功后才可用. expect(1)是不可能的,因为我想将它作为一个cron作业运行,并且由于cron作业不在终端下运行,所以expect / ssh的组合不起作用.我没有对该服务器的root访问权限,并且很难让管理员对其中的工作方式进行任何更改.
使用sshpass.例如,当密码在password.txt文件中时:
sshpass -fpassword.txt ssh username@hostname
(取自similar question的答案)