SSH through another id


 
Thread Tools Search this Thread
Operating Systems Linux SSH through another id
# 1  
Old 01-18-2012
SSH through another id

First off, I don't have root permissions Smilie. All I have is sudo rights.

Im trying to ssh with another ID to multiple servers without the server asking for a password. The other ID already has ssh keys on all the other servers and can pass through the other server with a password of passphrase. But I can't use that same other ID in a script to pass through other servers without using a password or the the script not doing anything at all. Here is the current script I have now:

Code:
#!/bin/bash
 
echo "`date +%D:%H:%M:%S`" ; read -p " User ID"= UserID
 
echo "`date +%D:%H:%M:%S`"
read -p "Enter Server(s)"= servertext

for i in $servertext
do
        echo "$i"
        echo "`date +%D:%H:%M:%S`"
        ssh -t -t  ssh -f -o "Batchmode yes"   -o "StrictHostKeyChecking no" AnotherID@$i   id $UserID
done

If I take out the -o "Batchmode yes" , and leave in -o "StrictHostKeyChecking no" the server that I'm ssh -ing to asks for a password.

If I leave in the -o "Batchmode yes" and take out -o "StrictHostKeyChecking no" , enter a service name , as soon as I press enter, it does this :

Enter Server(s)= servername

[User@servername~] $


Goes back to the command prompt.

In the other ID, i've already made a config file in the .ssh directory. In the config file are these options :
Code:
 
StrictHostKeyChecking no
FallBackToRsh no
BatchMode yes
CheckHostIP no
UsePrivilegedPort no

That's all I have.

Last edited by fpmurphy; 02-12-2012 at 11:42 AM..
# 2  
Old 01-18-2012
Quote:
Originally Posted by wdog17
First off, I don't have root permissions Smilie. All I have is sudo rights.
If you can do 'sudo bash' you have root permissions.
Quote:
I'm trying to ssh with another ID to multiple servers without the server asking for a password. The other ID already has ssh keys on all the other servers and can pass through the other server with a password of passphrase. But I can't use that same other ID in a script to pass through other servers without using a password or the the script not doing anything at all.
The other user possesses a key file which allows him to do so. If your user doesn't have the same key, with the right file permissions on that key, it won't go.

ssh -v -v might show more about what's being refused when.
# 3  
Old 02-01-2012
Didn't have the same permission's. Thats what it was. I have one more problem. I'm trying to execute a function an put a "if/then" statement within the single line of ssh command.
Code:
echo "`date +%D:%H:%M:%S`" ; read -p " User ID"= UserID

echo "`date +%D:%H:%M:%S`"
read -p "Enter Server(s)"= servertext


for i in $servertext
do

echo "$i"
echo "`date +%D:%H:%M:%S`"

 
ssh -t -t $i 'if [ $? -eq 0 ] ; then printf "User Exist"  -a  pcffunc ; else echo " user does not exist" ;  fi '
 
pcffunc() {
 
   functions.....
 
 
}
 
done

The script will do the first part but won't execute the function. Any thoughts?

Last edited by fpmurphy; 02-12-2012 at 11:41 AM.. Reason: code tags please!
# 4  
Old 02-01-2012
Functions entered on localhost won't appear on the other host.

I have no idea what this '-a' option is and can't find it in any of my manual pages.

I have no idea what that shell statement is supposed to accomplish either since, if the user doesn't exist, you'll never log into the host in the first place and NONE of the statements in single quotes will run.
# 5  
Old 02-01-2012
I looked on some other pages and the -a takes the place of && . I mistated what I was trying to do (forgive me Smilie). This what I was trying to do (reset a password):

Code:
#!/bin/bash

echo "`date +%D:%H:%M:%S`" ; read -p " User ID"= UserID
echo "`date +%D:%H:%M:%S`" ; read -p "User Password"= userpasswd 

echo "`date +%D:%H:%M:%S`"
read -p "Enter Server(s)"= servertext

for i in $servertext
do

echo "$i"
echo "`date +%D:%H:%M:%S`"

ssh -t -t $i 'if [ $? -eq 0 ] ; then printf "User Exist" -a pcffunc ; else echo " user does not exist" ; fi '

pcffunc() {

  echo $userpasswd |  sudo /usr/bin/passwd --stdin $UserID


}

done


I tried to do it the ssh portion like this :

ssh -t -t $i 'if [ $? -eq 0 ] ; then printf "User Exist" && echo $userpasswd | sudo /usr/bin/passwd --stdin $UserID ; else echo " user does not exist" ; fi '


This is the result:

User Exist
ssh: echo | sudo /usr/bin/passwd --stdin : Name or service not known


It's like it dismisses my function which you said: Functions entered on localhost won't appear on the other host.

But why does it dismiss my varibles?

Last edited by fpmurphy; 02-12-2012 at 11:43 AM.. Reason: code tags please!
# 6  
Old 02-01-2012
Variables from your end don't go to the other end either, and don't get substituted before they're sent because you put them in single quotes.

Your program still makes no sense. Why would you test whether ssh succeeded inside ssh? If it doesn't work, the program will never happen. I'm not sure what you're even trying to do.
# 7  
Old 02-01-2012
Just reset a simple password. I'm not testing is ssh is on ssh. Im testing if the user is on the server. if the user is then reset the password. If not the echo the user is not on the server.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find active SSH servers w/ ssh keys on LAN

Hi, I am trying to complete my bash script in order to find which SSH servers on LAN are still active with the ssh keys, but i am frozen at this step: #!/bin/bash # LAN SSH KEYS DISCOVERY SCRIPT </etc/passwd \ grep /bin/bash | cut -d: -f6 | sudo xargs -i -- sh -c ' && cat... (11 Replies)
Discussion started by: syrius
11 Replies

2. UNIX for Beginners Questions & Answers

Ssh script to validate ssh connection to multiple serves with status

Hi, I want to validate ssh connection one after one for multiple servers..... password less keys already setup but now i want to validate if ssh is working fine or not... I have .sh script like below and i have servers.txt contains all the list of servers #/bin/bash for host in $(cat... (3 Replies)
Discussion started by: sreeram4
3 Replies

3. Shell Programming and Scripting

Check if file exists via ssh in ssh (nested)

I'm using redhat and have an odd issue with a nested ssh call. ssh -i ~/.ssh/transfer-key -q transfer@fserver1 ] && ssh -i ~/.ssh/transfer-key transfer@fserver1 "ssh -i ~/.ssh/sftp-key sftpin@10.0.0.1 ]" && ssh -i ~/.ssh/transfer-key transfer@fserver1 "scp -i ~/.ssh/sftp-key /home/S/outbox/*... (2 Replies)
Discussion started by: say170
2 Replies

4. UNIX for Dummies Questions & Answers

SSH tunnel working for ssh but not for sshfs

I'm trying to setup a link between my home pc (work-machine) and a server at work (tar-machine) that is behind a gateway (hop-machine) and not directly accessible. my actions: work-machine$ ssh -L 1234:tar-machine:22 hop-machine work-machine$ ssh -p 1234 user@127.0.0.1 - shh access on... (1 Reply)
Discussion started by: Vathau
1 Replies

5. Shell Programming and Scripting

Ssh = ssh expect and keep everything not change include parameter postion

I have write a script which contains ssh -p 12345 dcplatform@10.125.42.50 ssh 127.0.0.1 -p 5555 "$CMD" ssh root@$GUEST_IP "$CMD" before I use public key, it works well, now I want to change to "expect", BUT I don't want to change above code and "parameter position" I can post a... (1 Reply)
Discussion started by: yanglei_fage
1 Replies

6. UNIX for Dummies Questions & Answers

SSH SSH encountered 1 errors during the transfer

This issue was resolved due to using the correct user transferring the file over to the desktop. (1 Reply)
Discussion started by: Computergal2104
1 Replies

7. Shell Programming and Scripting

Using ssh to add register key on ssh server

Hi, I want to use ssh to add a register key on remote ssh server. Since there are space characters in my register key string, it always failed. If there is no space characters in the string, it worked fine. The following is what I have tried. It seems that "ssh" command doesn't care about double... (9 Replies)
Discussion started by: leaftree
9 Replies

8. Shell Programming and Scripting

could not send commands SSH session with Net::SSH::Expect

I am using Net::SSH::Expect to connect to the device(iLO) with SSH. After the $ssh->login() I'm able to view the prompt, but not able to send any coommands. With the putty I can connect to the device and execute the commands without any issues. Here is the sample script my $ssh =... (0 Replies)
Discussion started by: hansini
0 Replies

9. Cybersecurity

What's the difference between an SSH Client and an SSH Server?

Eh... yeah. What the title says. :D (1 Reply)
Discussion started by: PSC
1 Replies
Login or Register to Ask a Question

Featured Tech Videos