我有一个用于备份的 sh 脚本
scp /mybackupdir/* backupuser@backupserver:/backup
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以向 scp 添加密码?或者我是否必须检查 ssh-agent 是否正在运行,如果没有启动并添加密钥?
您不能通过参数向 scp 提供密码。
但是,您可以通过密钥使用身份验证: ssh-keygen 将生成用于身份验证的 rsa 密钥对 ssh-copy-id 将您的公钥复制到另一台主机。
如果您不能或不想通过密钥使用身份验证,那么您可以编写期望脚本并从此脚本中提供密码。这不是最安全的实现方式!
首先,让我们梳理一些容易混淆的事实:
在 SSH 的上下文中,当人们使用术语...
...但当然这只是一个约定和一个很大的混乱来源。
也就是说,我试着回答你的问题:
如果您的意思是基于密码的 SSH 身份验证:
如果您的意思是使用密码短语加密的私钥文件进行公钥身份验证: