如何使用ssh通过提供静态文本

问题描述:

我在写一个shell脚本来ssh如何使用ssh通过提供静态文本

连接到使用基于Linux的远程计算机成功登录到远程计算机我之后执行是键盘交互操作能够执行Linux命令,现在我面临的真正问题是,当试图为另一台远程机器运行相同的脚本时,它将要求本地身份验证(usernamepassword)登录ssh以进一步继续。

有人可以指导我如何用我的username填写第一行,并立即做一个回车,并执行password类似的行动。

我试过下面的代码connect.sh

sshpass -p <remote-passwd> ssh [email protected]<remote-ip> 'bash -s' < test.sh 

test.sh包含

ls 
pwd 

如果我运行connect.sh脚本它完美地执行,而不要求远程计算机密码。它还执行lspwd

其实我可以代替lspwdusernamepassword达到我想要做的?

另外,我在找什么是不可能的? (我已经看到了VB.NET类似的代码这是解决我的目的,但它不是一个健壮的代码,我真的没有对VB scripts任何想法)

更新:我能够登录到远程机器交互非,但远程机环境立刻询问本地认证这又需要键盘交互,我在寻找实现这一认证的非交互式

+0

通过SSH自动登录确实是可能的,检查http://*.com/questions/12202587/automatically-enter-ssh-password-with-script – bdvll

+0

另请参见[**编写一个shell脚本ssh到一个远程机器和执行命令**](http://*.com/questions/13928116/write-a-shell-script-to-ssh-to-a-remote-machine-and-execute-commands)。有关详细信息关于设置*无密码*访问,请参阅:[**如何设置两个不同帐户之间的无密码验证**](http://*.com/questions/36171227/how-to-setup-the-passwords稀少的身份验证 - 间二不同账户/ 36172337 S = 1 |?0.4287#36172337)。 –

+0

@bdvll我对这部分问题还好,我的问题是在实现这个之后... – prince

如果可能的话,你应该配置一个公共密钥服务器,所以你不必提供密码。这更安全,并将更直接地解决您的问题。

您可能还想查看编排框架,而不是自己实现这一切。如果你在做小事情,Fabric是一个不错的选择。如果这看起来会变得更大,你应该看看类似Ansible的东西,它还可以额外处理系统配置和其他一百万件事情,但只需要很少的设置即可开始使用。

+0

谢谢@Xiong,将检查您提供的输入。谢谢。 – prince