Sftp使用没有shell的远程用户

时间:2014-08-04 12:06:20

标签: shell unix sftp

我需要创建一个shell文件,将文件传输到远程服务器,但是,给我的帐户没有shell主要是因为他们只想限制对sftp的访问。我已经有一个shell脚本我唯一的问题是我不能自动化它。脚本在密码提示符处停止。我阅读了大多数无密码sftp教程,我需要生成密钥对,但就像我说我不能这样做,因为远程帐户没有shell访问权限。考虑到没有shell的帐户,无密码sftp有哪些替代方案?远程服务器没有安装'expect'。

非常感谢。

编辑:还请注意我无法在本地服务器上安装任何东西。我可以在远程服务器上执行某些操作,但不能在本地执行某些操作。

1 个答案:

答案 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