Solved

Linux, problem with remote script and environment variables

Posted on 2013-12-20
2
386 Views
Last Modified: 2013-12-20
I am using RHEL 6.5

I am trying to use ssh to perform a command file
on a target machine.

In order to do this I have attempted to set up
the sshd environment on the target machine (xxclnt2)

However, it appears I was unsuccessful

First I go to the target machine and set the
~/.ssh/environment file to contain the environment
variables contained in a normal session:

[root@xxclnt2 .ssh]# pwd
/home/root/.ssh
[root@xxclnt2 .ssh]# set > /home/root/.ssh/environment
[root@xxclnt2 .ssh]#

Open in new window


Then I record the number of environment variables
that were placed in this file:

[root@xxclnt2 .ssh]# pwd
/home/root/.ssh
[root@xxclnt2 .ssh]# cat environment | wc -l
66
[root@xxclnt2 .ssh]#

Open in new window


Then I make sure the PermitUserEnvironment is set
properly in the sshd config file:

[root@xxclnt2 ssh]# pwd
/etc/ssh
[root@xxclnt2 ssh]# grep "PermitUserEnvironment yes" sshd_config
PermitUserEnvironment yes
[root@xxclnt2 ssh]#

Open in new window


Finally I restart the sshd on the target machine:

[root@xxclnt2 ssh]# /etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@xxclnt2 ssh]#

Open in new window


I create a script named /home/test that counts the environment variable lines:

[root@xxclnt2 home]# pwd
/home
[root@xxclnt2 home]# cat test
set | wc -l
[root@xxclnt2 home]#

Open in new window


Now I switch to the remote machine and remotely start
the /home/test

[root@xxclnt1 home]# sshpass -p 'xxxx' ssh root@xxclnt2 /home/test
46
[root@xxclnt1 home]#

Open in new window


So I only see 46 environment variables

What did I do wrong ?

Thanks
0
Comment
Question by:Los Angeles1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 19

Accepted Solution

by:
xterm earned 250 total points
ID: 39732611
You didn't do anything wrong - there are certain variables that only get set if you stay logged in.

One example is SSH_TTY which you will see if you do "set | grep _TTY" while logged into xxclnt2- however if you do "ssh xxclnt2 set | grep _TTY" you won't get a result.
0
 
LVL 10

Assisted Solution

by:acbxyz
acbxyz earned 250 total points
ID: 39732656
0

Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction We as admins face situation where we need to redirect websites to another. This may be required as a part of an upgrade keeping the old URL but website should be served from new URL. This document would brief you on different ways ca…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question