ssh启动脚本
A. 如何用shell脚本实现SSH的远程登录
要带跳过输入密码的环节么?
如果你想每次链接的时候自己手动输入密码,那就参考这样写
#!/bin/bash
ip=$1
ssh 用户名@ip地址 -p端口号
保存后给执行权限,运行时在脚本后面直接跟一个IP地址
如果你想每次链接的时候自动跳过输入密码的环境,那就再网络下“ssh建立信任关系”,脚本依然还是这个脚本,只是登陆的时候做了互相信任的话,就不需要密码了
B. ssh 192.168.0.10 "/test.sh" 远程执行命令后如何能中ssh命令后,客户端继续运行这个test.sh脚本
1. ssh简介以及本例的应用场景① ssh的简介
SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
② 本例的应用场景
用户在client(linux)上通过ssh远程执行server(Windows)上的命令,比如c:\test.bat
注:Linux版自带ssh Server且默认启动,具体设置方法请参见google。
2. ssh服务器的安装(Windows)
ssh服务器软件有许多中,我们这里使用的是免费的freeSSHd。
C. linux下如何使用ssh远程登录主机 执行shell脚本
知道linux的ip,用户和密码就可以远程登陆了。在你的SSH 客户端会有一个linux的终端。在这执行命令就可以了。
D. ssh登录到远端服务器执行本地脚本,怎么给脚本传递位置参数
首先要设置ssh信任 ----> 实现无密码ssh登录. 这个你可以自行搜索, 脚本非常简单: ssh user@host "command $var"
E. java SSH远程到linux 执行本地的脚本
scp file yonghuming@服务器 :/路径
把本地文件 file 传送到 服务器 的 /路径 下。
然后就可以远程执行了。
F. 利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集
假设从主机A,检查主机B上的进程,
需要在主机B上建立检查用户,例如叫x,
并设置通过public key认证登录SSH,不会可以google搜一下,
然后,在A机器上执行:
ssh x@B ~/command.sh > result.txt
command.sh就是B机器上放置在x目录下的脚本。
输出结果应该是写到了result.txt
或者另一种写法
result=`ssh x@B ~/command.sh`
结果直接保存到result变量中了。
暂时没有linux环境,所以没有实际测试,你自己试试吧
免费提供最新Linux技术教程书籍,入门自学书籍《linux就该这么学》,为开源技术爱好者努力做得更多更好
G. 如何写shell脚本自动通过ssh命令登录到服务器
用EXPECT实现用密码登录,也可配置成不需要密码
#!/usr/bin/expect -f
if { $argc < 3 } {
puts stderr "Usage: $argv0 IPAdress Login OldPasswd"
exit
}
set IPADDR [lindex $argv 0]
set LOGIN [lindex $argv 1]
set OLD_PW [lindex $argv 2]
set timeout 30
stty -echo
spawn ssh $IPADDR -l $LOGIN
expect {
"*Password:*" {
send "$OLD_PW\r"
exp_continue
} "*Last login:*" {
#interact
exit 0
} timeout {
send_user "connection to $IPADDR timeout!\n"
exit 1
} "*incorrect*" {
send_user "password incorrect!\n"
exit 2
} "*Permission*" { #for LINUX ssh
send_user "password Error!\n"
exit 2
} eof {
exit 3
}
}
H. 请问我在Linux下想实现一个终端同时通过SSH执行其它多个终端内的shell脚本怎么实现
ssh $IP_102 -l $User "sh 102.sh"&
ssh $IP_103 -l $User "sh 103.sh"&
这样执行就可以同时执行了,否则是一个一个执行的。
如果判断是否执行完成就写一个log日志,看好读日志就可以了。
I. 在linux 脚本中使用了远程登录ssh,结果是 ssh:command not found
有可能脚本执行没有设置环境变量PATH,脚本里加上export PATH=/bin:/usr/bin:$PATH
或者把ssh路径写全,比如 /usr/bin/ssh
J. 为什么ssh命令在linux终端上无法直接运行,但是写到bash脚本里面就可以执行
-V Display the version number and exit.
显示版本号并退出。
退出SSH当然就断开连接啦。
写在shell脚本里,执行的时候是在新建shell中执行的,退出也只是退出新建shell回到原shell,所以不影响连接。
试试执行:
(ssh-V)
放到小括号中,同样会新建shell去执行。