2011-07-19 25 views
0

我想在另一台机器上运行脚本。无论如何,即使我在该机器上首次运行它,也无需进行任何形式的身份验证。假定另一台机器是可信的。我无法使用ssh,因为它打破了连续的过程并提示输入用户密码,我希望该过程持续不断。请建议是否有办法实现这一点。我试过所有可以使用ssh但无济于事的东西。在Unix中的远程计算机上运行shell脚本而不使用ssh或rsh

+0

为什么不能将您的公钥放在远程机器上你可以用ssh登录而不用密码? –

+0

我不能这样做,因为某些远程机器没有.ssh /文件夹。所以我不确定在哪里添加我的公钥在这样的远程机器上。 – latestVersion

+0

你必须在他们身上有一些帐户,至少决定你正在运行的特权。 –

回答

1

既然你说你不知道那里的授权密钥文件所在,请检查您sshd_config此设置:

AuthorizedKeysFile

指定包含文件可以使用 的公共密钥 进行用户验证。 AuthorizedKeysFile可能包含 令牌 ,其形式为%T,在连接 设置期间被替换。 以下标记定义:%%由 字面 “%”代替,%h由用户 的主目录被替换认证 和%u被通过 用户的用户名替换。 扩展后,AuthorizedKeysFile被认为是一个 绝对 路径或一个相对于用户的主目录。 默认 是``.ssh/authorized_keys。

如果未设置,只需在您的主目录中创建一个.ssh目录并添加客户端的密钥。除非您在sshd_config中有任何不寻常的设置,否则您现在应该无需输入密码即可登录(除非您的密码保护密钥文件,通常建议使用此密码)

+0

谢谢你的回答,但我恐怕没有帮助。不是因为它不起作用(我不知道会不会),而是因为我没有足够的权限来读取该文件。而且我也无法创建**。ssh **文件夹,因为我必须在一些生产服务器上运行该脚本,并再次爬取权限问题。 – latestVersion

+0

在我的小见解中,任何人都否认使用ssh密钥登录的能力,但是让你用无密码登录执行任意脚本并不是很理智。请求服务器操作员创建必要的文件/文件夹。使用SSH密钥登录是实现这一目标的方法。 – carlpett

相关问题