问题

首先说一下使用ssh远程连接服务器执行命令的方法:

为了方便描述,这里把测试服务器称之为A1,目标服务器称之为A2

A1与A2之间首先要建立ssh免密登录,在A1上生成公钥和私钥

ssh-keygen -t rsa -f id_rsa -P ''

获取A1的公钥

vim ~/.ssh/id_rsa.pub

将A1的公钥拷贝到A2的authorized_keys文件中保存。注意一个公钥中间不能有空格或换行!

在A1上验证免密登录是否配置成功

ssh -p A2port A2user@A2ip

如果可以直接登录到A2,则配置成功!

image.png

在A1远程连接A2执行命令

ssh -p A2port A2user@A2ip "rm -fr test"

下面来说问题:

ssh在远程连接服务器执行命令的时候,经常会遇到环境变量的问题,如下:

/data/resin-pro-4.0.49/bin/resin.sh: line 44: exec: java: not found

如果出现上面的提示,则说明环境变量配置有问题。

先来说解决办法

解决

访问A2上/etc/profile文件,拷贝文件中的环境变量,例如JAVA_HOME, PATH等等

将环境变量拷贝至~/.bashrc文件保存

source ~/.bashrc

问题解决!

原因及拓展

这里就要说明bash有两种方式interactive + login shell模式和non-interactive + non-login shell模式

在服务器上执行命令,走的是interactive + login shell模式,而通过远程登录执行命令,走的是non-interactive + non-login shell模式。

这两种模式对于环境变量的读取是有区别的。

interactive + login shell模式

Shell首先会加载/etc/profile文件,然后再尝试依次去加载下列三个配置文件之一,一旦找到其中一个便不再接着寻找:

~/.bash_profile

~/.bash_login

~/.profile

non-interactive + non-login shell模式

它不会去执行/etc/profile文件,而会去用户的HOME目录检查.bashrc并加载

所以当远程执行命令时,我们只需要让~/.bashrc文件中的环境变量与/etc/profile中的环境变量一致即可!

ssh远程执行服务器命令,ssh远程连接服务器执行命令相关推荐

  1. Mac搭建本地svn服务器,并用Cornerstone连接服务器

    Mac搭建本地svn服务器,并用Cornerstone连接服务器 Mac默认已经安装了svn,我们只需要进行配置并开启就可以了 首先我们可以验证一下是否安装了svn,打开终端,输入命令: svnser ...

  2. 饥荒自动服务器有点问题,饥荒联机版无法连接服务器怎么办_无法连接服务器的快速解决办法...

    饥荒联机版无法连接服务器怎么办?今天小编就为大家带来饥荒联机版无法连接服务器解决方法,让我们来一起看看吧! 其实有时候连不上klei服务器和刷新不出服务器列表,是dns的问题. 尤其一些三级宽带,像什 ...

  3. csgo国服一直连不上服务器,csgo国服显示连接服务器发生错误 | 手游网游页游攻略大全...

    发布时间:2015-09-05 正当防卫3是刚出来的游戏呢,很多玩家都想要玩吧,但是由于这款游戏要全程联网才能够玩呢,很多玩家无法连接服务器,这是咋回事呢,下面看看正当防卫3无法连接服务器怎么办 总是 ...

  4. 开启手机找回连接服务器失败,原神连接服务器失败什么意思?连接服务器失败解决方法...

    原神连接服务器失败怎么办?连接服务器失败是什么意思?6月25日,很多玩家在登陆游戏的时候发现界面弹出了"连接服务器失败"这个提示,导致玩家无法进入游戏中,那么这到底是什么情况呢?应 ...

  5. csgo账号连接服务器错误,steam csgo连接服务器发生错误 | 手游网游页游攻略大全...

    发布时间:2015-11-22 今天小编带来风暴英雄 进不去 从服务器下载数据时发生错误 怎么办 风暴英雄这个游戏看似是"MOBA"(DotA/DotA2)或者"Acti ...

  6. RustDesk 自建服务器,局域网可以连接服务器,外网就不可以了。 求高手指点迷津。

    RustDesk 自建服务器,局域网可以连接服务器,外网就不可以了. 求高手指点迷津. 局域网连接是没有问题的,但是映射到公网ip就是连不上,端口映射没有问题.有那位大神可以指点迷津用云服务器吗? 就 ...

  7. rustdesk RustDesk 自建服务器,局域网可以连接服务器,外网就不可以了。 求高手指点迷津。

    rustdesk RustDesk 自建服务器,局域网可以连接服务器,外网就不可以了. 求高手 局域网连接是没有问题的,但是映射到公网ip就是连不上,端口映射没有问题.有那位大神可以指点迷津用云服务器 ...

  8. 造梦西游4显示您与服务器,造梦西游4连接服务器失败怎么办?连接服务器失败解决方法分享...

    造梦西游4连接服务器失败怎么办?相信很多玩家朋友不清楚,下面愚蠢的地球人为你带来这一问题的答案.相信在看完本篇文章之后,造梦西游4连接服务器失败怎么办?一定不会再成为你的问题了. 造梦西游4连接服务器 ...

  9. csgo显示无法更新服务器,csgo更新无法连接服务器

    csgo更新无法连接服务器 内容精选 换一换 无法正常使用Cloud-init.弹性云服务器获取Metadata的流程如图1所示:获取Metadata流程图您可以按照以下原因进行排查,如果解决完某个可 ...

  10. 服务器自动管理系统之连接服务器的方式

    堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 ...

最新文章

  1. category、protocol、delegate总结
  2. [Mysql]——通过例子理解事务的4种隔离级别
  3. JAXB 有两个名为 ** 的属性,类的两个属性具有相同名称 **解决方案
  4. 编写干净的测试–从配置开始
  5. linux的基础知识——shell语法
  6. 的正确使用_如何正确使用安全带 安全带正确系法
  7. 7-3 sdut-求两个整数之和(I)
  8. 制作内网yum源 同步阿里的源
  9. 使用jq工具在Shell命令行处理JSON数据
  10. scala-协变、逆变、上界、下界
  11. 区块链软件公司:你的区块链交易真的是匿名吗?
  12. java 关键字小结
  13. 抽奖活动软件 html,webAPP最常用的活动促销案例:大转盘H5抽奖特效
  14. 《大数据之路:阿里巴巴大数据实践》-第1篇 数据技术篇 -第7章 数据挖掘
  15. B站崩了、Facebook崩了,我们到底该怎么保证高可用
  16. java程序员生日祝福语_给程序员的一句话祝福语
  17. 最小二乘拟合问题求解算法(含python代码)
  18. matlab中的三次样条曲线拟合,三次样条拟合典型实例.doc
  19. Android辅助功能之自动安装apk
  20. 风水轮流转!身价594亿美元,超马化腾成中国互联网首富

热门文章

  1. html5固定右侧qq客服,固定在网页右侧浮的QQ在线客服.doc
  2. php降低mp3质量,3种改变MP3文件比特率的方法 | MOS86
  3. linux 16.04系统下载,ubuntu16.04镜像下载
  4. Android Recyclerview列表动态设置列数
  5. 大乱斗ps4好玩吗_你们这些大佬玩游戏一定要这么骚吗?
  6. 跳转输入法界面以及弹出输入法选择框
  7. python 执行alias_alias命令的使用
  8. visio堆叠正方形形成框图
  9. Hadoop开发常用的API汇总
  10. 武汉大学计算机专硕和学硕的区别,学硕和专硕到底哪个好?浙江大学专硕和武汉大学学硕,该咋选择?...