假设本机为A,远程机器为B,现在想从A上远程执行B机上的命令并从A上看到执行结果,我的操作如下: ssh IP_B "echo $HOSTNAME" 我的本意是想得到B机器的HOSTNAME返回给A机的tty。 同样,我执行ssh IP_B "/root/abc/tmp.sh"时,也报了一堆的错,经过-x调试发现,貌似这么执行的时候,变量名还是会取本机的。 而如果只是纯粹的执行远端的一个ls命令,得到的结果又是对的。 不太明白是为什么,大家谁能帮忙解释下?
by fttskyblue - Shell - 2011-08-20 08:24:50 阅读(38124) 回复(24)
[supe@PSU ~]$ ssh [email]informix@16.157.94.232[/email] onstat -l Password: ksh: onstat: not found 我远程通过ssh调用onstat命令,该命令是informix的一个控制命令,老是报错说找不到. 但是更换命令为系统命令则可以正常执行 [supe@PSU ~]$ ssh [email]informix@16.157.94.232[/email] pwd Password: /home/informix 麻烦高手帮忙看看是怎么回事?需要配置权限还是更改路径啊? 我写成全路径也报错. [supe...
小弟在A机上有这样一个shell脚本: #!/bin/bash ssh -l user hostB "./command.sh" 但B机上,./command.sh中的程序的 stdin,stdout及stderr全部是重定向到B机上的一个文件中,例如: command1 2>&1 >log 但在A机上执行这个shell后, B机上的command执行时stdout及stderr全部显示到了A机的tty上,请问我若不想B机的stdout及stderr到A机tty上,该如何办?还有哪位大哥能否解释一下远程执行命令时,stdout,stdin,stderr是...
1. ssh-keygen -t rsa (生成密钥) 提示输入密钥保存位置以及密码时,直接回车,接受默认值就行了。 公共密钥保存在 ~/.ssh/id_rsa.pub 私有密钥保存在 ~/.ssh/id_rsa 2.chmod 755 ~/.ssh(修改 .ssh 目录的权限) 3.把密钥中的公共密钥复制到要访问的机器上去,并保存为 ~/.ssh/authorized_keys. 之后用ssh访问那台机器时,就不用输入密码了 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/7...
有些时候,我们在复制/移动文件到另一台机器时会用到scp,因为它比较安全。但如果每次 都要输入密码,就比较烦了,尤其是在script里。不过,ssh有另一种用密钥对来验证的方 式。下面写出我生成密匙对的过程,供大家参考。 第一步:生成密匙对,我用的是rsa的密钥。使用命令 "ssh-keygen -t rsa" [code] [user1@rh user1]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save th...
很多朋友都用是 putty 在 windows 上登陆 Linux/Unix 来管理的. 以前写过一个在 Linux 上用 ssh-keygen 生成 public/private 对来做为认证, 而不用输入密码的帖子. 好多朋友就想知道怎么让 putty 也能这样. 小弟这几天有空, 试了一下. 特将步骤写下, 仅供参考. 1. 生成 public/private 对. 这个好办, puttygen 就行了. 出现如图(1)的界面. 然后选中下面的 ssh2RSA, 再点击 Generate 就会生成如图(2)的界面. 这个过程中要不停的...
我在linux AS 3下正确配置了ssh后,当我每次ssh到远程主机时,都要求输入远程主机的密码?请问怎么回事?怎么才能不要求输入密码?已做过: exec /usr/bin/ssh-agent $SHELL ssh-add
如题,我测试要报错:Pseudo-terminal will not be allocated because stdin is not a terminal. 请教高手!
奇怪的循环问题,循环中使用了ssh远程执行命令后,循环退出? while read line do ls -al $line >> /tmp/filelist ssh 1.1.1.1 "ls -al $line" >> /tmp/filelist echo " " >> /tmp/filelist md5sum $line >> /tmp/filemd5list ssh 1.1.1.1 "md5sum $line" >> /tmp/filemd5list echo " " >> /tmp/filemd5list done < tmp tmp: 1.txt 2.txt 3.txt 脚本执行后,只检查了1.txt这个文件,后面的2个文件就不检查了,直接跳出了循环...