`
- 浏览:
241714 次
- 性别:
- 来自:
北京
-
对于在Linux下工作的人来说, 经常需要使用ssh. 在使用控制台登录到远程机器上以后再执行操作的情况下,不存在使用环境变量的问题. 但是,对于不需要登录而直接用ssh在远程机器上执行命令的而言, 环境变量的使用就是一个问题了. 因为,远程机器的ssh server使用的是默认的环境变量,尤其是PATH. 比如我在当前机器abcn5上,执行echo $PATH,显示的是: "/opt/java/bin:/opt/intel/cce/10.1.015/bin:/usr/local/bin:/usr/bin:/bin:", 但是,我在其他机器上执行 ssh abcn5 'echo $PATH',显示的却是: "/usr/local/bin:/usr/bin:/bin".
对于需要自动化测试的人来说, 经常需要使用一台机器控制代码分布到各个远程机器上,并且在远程机器上执行测试. 既然是自动化,整个过程不需要人工的干预,即不需要使用控制台登录到远程机器. 这种情况, 工作都是通过使用ssh在远程机器上执行命令来完成的. 而经常, 所使用到的程序不在默认的PATH中, 许多需要的环境变量默认也不存在. 这种情况下, 就需要让ssh server能够接受自定义的环境变量(包括PATH).
要让SSH server接受自定义的环境变量,有以下3种方式,这三种方式都需要有一定的权限,比如对sshd_config的修改权限,ssh_config的修改权限,ssh server的安装权限等等,最好是具有sudo的权限. 对于产品内部测试而言, 一般测试人员都对使用的测试机器具有管理的权限,所以,这应该不是一个问题.
1 远程机器编译期设定,此点仅对PATH有效.
Open ssh的configure中有一个选项: --with-default-path=, 这个就是用来设定ssh server的默认PATH的
2 远程机器上设定.
修改远程机器上的sshd_config,使得其具有以下行:
PermitUserEnvironment yes
而后,在远程机器~/.ssh/建立environment文件,并且使用name=value的形式,增加需要自定义的环境变量,ssh在远程机器上执行命令时,environment中设定的变量都是执行环境的一部分
3 本机设定发送给远程机器.
修改远程机器上的sshd_config,使得其具有以下行:
AcceptEnv .....
AcceptEnv 后面接可以自定义的环境变量的名称,多个间空格隔开,可以使用通配符,比如
AcceptEnv PATH USER APPNAME TCL* A?
修改本机的ssh_config使得具有以下行:
SendEnv .....
格式同上.
这种情况下,ssh将会将SendEnv指定的环境变量发送给远程机器,远程机器根据AcceptEnv中的定义, 接受符合的,用这些符合的代替以后的环境变量,成为执行环境的一部分.
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### SSH协议连接远程服务器的Java实现 #### 一、引言 在计算机网络领域中,SSH(Secure Shell)协议是一种广泛使用的网络...对于那些需要在不安全网络环境中保障数据安全性的应用来说,SSH协议是一个不可或缺的选择。
1. **自定义配置路径**: 如果需要自定义配置文件位置,可以通过`MANSSH_CONFIG`环境变量指定。 2. **使用密钥文件**: manssh支持指定私钥文件进行身份验证,例如: ``` manssh conn server1 --key /path/to/id_...
它包含了服务器运行所需的各种系统属性和环境变量。例如,你可以在这里配置服务器的端口、内存分配、日志级别等。 2. **管理用户和角色**: - `mgmt-users.properties` 和 `mgmt-groups.properties`:这两个文件...
此外,还需要了解如何配置项目结构、设置环境变量以及部署应用到服务器。 总之,"SSH 简单的java web 入门"涵盖了Java Web开发的核心技术,对于新手来说是一条有效的学习路径。通过深入理解和实践这些框架,可以为...
文件"jBPM4.4库表(sqlserver2000).txt"提供了jBPM在SQL Server 2000环境下所需的数据库表结构。根据这个文件,你需要在数据库中创建这些表,以便jBPM能够正确存储和检索流程数据。表的创建通常涉及到流程实例、任务...
--#echo var="..." -->`:显示服务器环境变量。 部署含有SSI的项目需要注意: 1. **启用SSI**:在Web服务器配置中开启SSI支持,如Apache的`AddOutputFilterByType INCLUDES text/html`。 2. **文件扩展名**:通常...
1. **Java环境配置**:确保安装了JDK 1.5或更高版本,并设置JAVA_HOME环境变量指向JDK的安装路径。为了避免可能出现的异常,建议系统中只安装一个JDK版本。 2. **CATALINA_HOME设置**:设置环境变量CATALINA_HOME,...
例如,如果在环境变量$HOME/.ssh/id_rsa中存在私钥,Action就会自动加载并准备好进行SSH身份验证。 在GitHub Actions的YAML配置文件中,我们可以这样使用"use-ssh-agent": ```yaml name: SSH Agent Example on: ...
Ansible是一款广泛应用于IT领域的自动化...这个"Ansible-ansible-bootstrap-server.zip"压缩包提供了一个快速启动和配置Ansible服务器的起点,让初学者能够迅速上手,并为高级用户提供了一个可自定义和扩展的基础架构。
标题"JSP基于SSH2物流企业订单管理系统源码案例设计.zip"指出,这是一个使用JSP(JavaServer Pages)技术,并基于SSH2(Struts2、Spring、Hibernate三大框架的组合)框架开发的订单管理系统的源代码实例。SSH2是企业...
- **配置系统使用OpenLDAP作为验证**:让银河麒麟V10 Server系统使用OpenLDAP进行用户验证。 **4.3 文件和打印服务器** - **Samba**:Samba是一种用于Windows和Unix/Linux之间文件共享的服务。 - **FTP**:File ...
在SSH项目中,通常使用Servlet或JavaServer Pages(JSP)生成随机的图像验证码,并将其与服务器端的一个临时变量关联。客户端提交表单时,服务器会验证输入的验证码是否与服务器端保存的值匹配。如果匹配,则验证...
如果Subversion不是安装版,需要在系统环境变量Path中添加Subversion的bin目录,例如C:\Program Files\Subversion11.5.3\bin,并重启电脑以生效。 3. **设置Subversion文件库路径** - SVNPath和SVNParentPath是...
你可以根据实际需求自定义配置,比如指定工作目录、命令行参数、环境变量等。配置完成后,选择对应的调试配置,点击绿色三角形启动调试,VSCode会在指定的断点处暂停执行,允许你检查变量值、单步执行等。 通过以上...
环境选项使用以下环境变量配置容器,或选择在/etc/ssh/sshd_config挂载自定义sshd配置:常规选项SSH_USERS要创建的用户帐户和uid / SSH_USERS列表。 例如SSH_USERS=www:48:48,admin:1000:1000:/bin/bash 。 用于指定...
- 使用`vim`编辑器修改`/etc/profile`文件,添加Java环境变量。 2. **验证Java安装**: - 执行`source /etc/profile`使配置生效。 - 输入`java -version`验证安装情况。 ### 五、配置无密码登录 1. **生成SSH...
在 Windows 7 系统中使用 Cygwin 搭建 Hadoop 开发环境是一项较为复杂的任务,需要对 Windows 系统环境变量、Cygwin 的安装与配置以及 Hadoop 安装包进行细致的操作。本文将详细介绍这一过程,帮助读者更好地理解并...
Netconf服务器 该服务器使用sysrepo模拟网络配置。 它是od sysrepo-netopeer2映像的基础。 用户指南 启动服务器 为了启动服务器,请使用位于根目录中的... TLS是默认禁用的,要启用它,请设置环境变量ENABLE_TLS=tr
#### 配置用户环境变量 - 在用户的 `.bashrc` 文件中添加一行来设置 `PATH` 变量,例如: ``` PATH=/cygdrive/c/Git/mingw32/bin:$PATH ``` 其中 `/cygdrive/c/Git/mingw32/bin` 是 Git 的安装路径。 #### ...
7. **安装Hadoop**:解压Hadoop安装包,配置Hadoop的环境变量,并修改配置文件,如`core-site.xml`, `hdfs-site.xml`, `yarn-site.xml`, 和 `mapred-site.xml`。最后,启动Hadoop服务并检查`jps`命令是否显示...