当前位置: 技术问答>linux和unix
知道远程机器root帐户的情况下怎么实现远程安装应用程序?
来源: 互联网 发布时间:2015-11-12
本文导语: 最近要实现一个C/S程序,要求可以在服务器端可以远程安装(局域网内)应用程序,此时已经知道远程机器的root帐户,不知如何实现?有知道的请给个提示!非常感谢.测试环境为Fedora,SuSe,或红旗Linux | 可以用ssh 比...
最近要实现一个C/S程序,要求可以在服务器端可以远程安装(局域网内)应用程序,此时已经知道远程机器的root帐户,不知如何实现?有知道的请给个提示!非常感谢.测试环境为Fedora,SuSe,或红旗Linux
|
可以用ssh
比如
ssh 192.168.1.1 ls /
会登录到目标机器运行命令“ls /”
如果要安装某个程序,可以先通过scp把程序复制到目标机器,然后按刚才的方式执行它。
可以通过将本机的public key放到目标机器实现免密码,从而达到自动安装:
ssh-keygen -t rsa 產生出 id_rsa, id_rsa.pub,一般在~/.ssh下
scp id_rsa.pub 192.168.1.1:~/.ssh/
ssh 192.168.1.1
cat .ssh/id_rsa.pub >> .ssh/authorized_keys 即可(如果不行,试一下authorized_keys2,有点记不清楚了)
不过这样会有点安全隐患,你可以参考一下ssh-add或者keychain(http://www.gentoo.org/proj/en/keychain/)
比如
ssh 192.168.1.1 ls /
会登录到目标机器运行命令“ls /”
如果要安装某个程序,可以先通过scp把程序复制到目标机器,然后按刚才的方式执行它。
可以通过将本机的public key放到目标机器实现免密码,从而达到自动安装:
ssh-keygen -t rsa 產生出 id_rsa, id_rsa.pub,一般在~/.ssh下
scp id_rsa.pub 192.168.1.1:~/.ssh/
ssh 192.168.1.1
cat .ssh/id_rsa.pub >> .ssh/authorized_keys 即可(如果不行,试一下authorized_keys2,有点记不清楚了)
不过这样会有点安全隐患,你可以参考一下ssh-add或者keychain(http://www.gentoo.org/proj/en/keychain/)
|
如果不想试这种方法,可以考虑expect,可以避免一些交互式的操作,比如自动ftp下载。
下面是网上摘来的一段expect脚本,你可以试一下,不过最好先了解一下expect的原理。
spawn ssh -l username ipaddress
expect "password:"
send "$passr"
expect >
interact
下面是网上摘来的一段expect脚本,你可以试一下,不过最好先了解一下expect的原理。
spawn ssh -l username ipaddress
expect "password:"
send "$passr"
expect >
interact