当前位置:首页 » 编程软件 » shell脚本登录ssh

shell脚本登录ssh

发布时间: 2023-05-23 09:02:40

❶ 利用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就该这么学》,为开源技术爱好者努力做得更多更好

❷ linux下如何使用ssh远程登录主机 执行shell脚本

知道linux的ip,用户和密码就可以远程登陆了。在你的SSH 客户端会有一个linux的终端。在这执行命令就可以了。

❸ Linux。。shell 脚本中经常要用到ssh。可是ssh又要交互式输密码。怎么能不交互的输密码呢

1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会在~/.ssh下生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了(直接运行 #ssh 192.168.1.100 )

面交互输入,就得使用expect脚本,例:
#!/bin/bash
passwd='123456'
/usr/bin/expect <<-EOF
set time 30
spawn ssh [email protected]
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$passwd\r" }
}
expect "*#"
send "cd /home/trunk\r"
expect "*#"
send "ls\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF

❹ 本地shell脚本中ssh到远程服务器并执行命令

        在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,和耐衫分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式唤腔

1、首先配置ssh免密操作

Linux 下实现SSH互信: https://www.jianshu.com/p/2456d98aa607

2、简单命令

ssh [email protected] "cd /var/lib; ls; cd "

2.1 使用时注意,双引号必须有。若没加双引号,第二条及之后的命令会在本地执行

2.2 分号是将两条语句间隔开

2.3 单双引的区别:单引号不会解析值,是什么就传什么;双引号会解析值,将解析结果传过去

3、多条命令

     ssh [email protected]<< reallssh

      cd /var/lib/test

      tar -zxvf api.com.tar.gz

      ......

      exit

      reallssh

3.1 命令写在 << reallssh(开始亩闷) 至 reallssh(结束) 之间

3.2 reallssh可自己定义为其他形式

3.3 在结束前加上exit退出远程

4、可能遇到的问题

问题:远程登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误

解决方案:字面意思是伪终端将无法分配,因为标准输入不是终端。

所以需要增加-t -t参数来强制伪终端分配,即使标准输入不是终端。

to force pseudo-tty allocation even if stdin isn’t a terminal.

参考样例如下:

ssh -t -t [email protected] -p 22

--------------------------------------------------------------------------------

参考:https://blog.csdn.net/jinking01/article/details/84386769

❺ shell脚本通过ssh登录到服务器进行操作

呵呵,这个问题有意思。 仔细想想,是本地环境和服务器环境的区别。你的脚本是存放在本地的,当你执行第一句的时候,已经转化为服务器的一个中断,享用的是服务器的环境。是看不到你本地的脚本的。

❻ Linux,在shell脚本中实现用ssh或者telnet方式登录另一个linux主机,然后修改第二个linux上的一个文件。

#!/usr/bin/expect-f
settimeout30
setipaddr"192.168.0.100"#IP地址
setusername"root"#用户名
setpassword"password"#密码

spawnssh$username@$ipaddr
expect{
"yes/no"{send"yes ";exp_continue}
"password:"{send"$password "}
}
expect"]#"#用户的提示符,根据需要修改一下
send"ls "#执行的命令,换成自己修改文件的
send"exit "
expecteof
exit

❼ linux下如何使用shell脚本进行ssh远程登陆到其他机器执行停止进程的命令。 用户名/密码:test/12345h

ssh [email protected] 输入密码,登陆成功后
ps -ef 查看进程pid
或者 netstat -ntpl
kill -9 进程pid

热点内容
增值税票安全接入服务器地址 发布:2025-07-19 00:20:45 浏览:480
solidworkspcb服务器地址 发布:2025-07-18 22:50:35 浏览:816
怎么在堆叠交换机里配置vlan 发布:2025-07-18 22:42:35 浏览:625
java调用别人的接口 发布:2025-07-18 22:37:35 浏览:435
服务器四个节点如何联网 发布:2025-07-18 22:36:02 浏览:273
华强北什么地方休安卓手机 发布:2025-07-18 22:24:56 浏览:736
数据库的根本目标 发布:2025-07-18 21:37:50 浏览:939
压缩机的流速 发布:2025-07-18 21:37:40 浏览:407
三星怎么取消手机密码 发布:2025-07-18 21:33:50 浏览:630
安卓手机耳机如何弹窗显示电量 发布:2025-07-18 21:20:53 浏览:62