我需要创建一个shell文件,将文件传输到远程服务器,但是,给我的帐户没有shell主要是因为他们只想限制对sftp的访问。我已经有一个shell脚本我唯一的问题是我不能自动化它。脚本在密码提示符处停止。我阅读了大多数无密码sftp教程,我需要生成密钥对,但就像我说我不能这样做,因为远程帐户没有shell访问权限。考虑到没有shell的帐户,无密码sftp有哪些替代方案?远程服务器没有安装'expect'。
非常感谢。
编辑:还请注意我无法在本地服务器上安装任何东西。我可以在远程服务器上执行某些操作,但不能在本地执行某些操作。
答案 0 :(得分:1)
在Debian和Ubuntu(也许还有其他系统)上,您可以使用sshpass
apt-get install sshpass
sshpass -p 'YourPassword' ssh user@host
OR
sshpass -p 'YourPassword' sftp user@host
但是您将在bash_history中打印密码..
因此,您可能希望从文件或环境变量中传递密码。
Greets,Eric