Sponsored Content
Top Forums Shell Programming and Scripting Ssh fails for one of two users on the same server. Post 303037390 by rbatte1 on Wednesday 31st of July 2019 06:48:04 AM
Old 07-31-2019
The client side needs to generate the key-pairs and the server side needs to have the public keys for each acceptable key-pair added to ~/.ssh/authorized_keys file for the user account on the server being connected to. Never copy the private key between users or servers (except for backups I suppose) because these are the critical identity proof for the client. If misused, you have little idea what has used them. If you feel that the integrity might have been compromised on a client, you can change the public key for just that client on the server rather than on all the clients, which is prone to error from clients being switched off or you not having the rights to sign on to the client to change the keys etc.

The server uses the keys for the requested user in ~/.ssh/authorized_keys in turn to encrypt a challenge to any connecting client. A client can prove it's identity by decrypting the challenge and responding, so keep the private key (used for decryption) separate for each user of each client and you will know what is permitted or not. The server can have multiple public keys authorised for any particular account by adding the multiple public keys on separate lines in ~/.ssh/authorized_keys for the target user(s) that the client is permitted to connect to.

You can go further and the client could generate multiple pairs of keys and save them to different pairs of files. The client can then be directed to use the appropriate private key for each user/server combination it wishes to connect to. Some may think this as overkill but it is an option should you deem it necessary and it is your choice. We use single client key-pairs for many things but specific user/server key-pairs for our most critical connections.

Remember that security is important and SSH (and related services) enforce this. Generally try to ensure that client's ~/.ssh directory and contents must not be readable by anyone else. Open permissions get rejected. Similar for the target account on the server. Openning permissions up to 'help' it will not work.



I hope that this helps,
Robin
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Add users on OSX server with SSH

Hi Is it possible to add users on a Mac OSX server from a unix system with ssh? If it is what file to alter? brg Nicke (3 Replies)
Discussion started by: nicke30
3 Replies

2. Shell Programming and Scripting

unzip command fails in ssh

I'm trying to run a set of commands on a remote machine using ssh in a shell script. One of the commands is unzip. But when the execution reaches this command, the script fails with an error that unzip is not found. Below is the code and the error snippet. sourceDir=$1 ; filename=$3 ; destDir=$2... (4 Replies)
Discussion started by: farahzaiba
4 Replies

3. UNIX for Dummies Questions & Answers

Server fails to allow connection

Hi, I use bru to backup a variety of servers. One of our servers crashed and we had to do an emergency restore. It is working fine. The problem is the backup server refuses to backup the ftp server. The backup server ssh's into the servers and executed the bru command and instructs that that... (1 Reply)
Discussion started by: mojoman
1 Replies

4. Shell Programming and Scripting

Need Help with expect when ssh fails

I'm trying to write a script using expect. I'd like the script to execute several commands when the ssh succeeds and i want it to exit if the ssh fails. Does this require to define a time out for the ssh command so that if the prompt is back before this defined time the next commands are executed??... (2 Replies)
Discussion started by: Hossam_Nox
2 Replies

5. Red Hat

when users ftp to server the timezone reflected is UTC but the server is set to TZ in localtime

Guys, Need your help coz my server runs in local time GMT +8, but when client use ftp and login, the resulting timestamp seen in each file is in UTC format. We need to set that the time should be the same as GMT +8 when in ftp session. I am using RHEL 5.3. root@]# ll total 1740... (2 Replies)
Discussion started by: shtobias
2 Replies

6. Ubuntu

Passwordless ssh authentication fails

Unable to set ssh passwordless authentication I am unable to ssh with passwordless authentication from Windows client onto UBuntu server. The ssh version on UBuntu is OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e , while SSH on Windows Client is OpenSSH_5.1p1, OpenSSL 0.9.8k. I turned on ssh... (5 Replies)
Discussion started by: tkota
5 Replies

7. Shell Programming and Scripting

While loop not reading all files if ssh fails

The below while loop is in ksh on a SunOs server: SPARC-Enterprise 5.10 The ksh version is: Version M-11/16/88i The intention of the below while loop is to read through a list of file names in files.txt and delete each file from a server, one at a time. The delete works, the problem is that if... (6 Replies)
Discussion started by: LES2013
6 Replies

8. Shell Programming and Scripting

Windows exe file fails when triggered from ssh

Hi, I am triggering a windows exe file using the below command. ssh user@remoteserver command.exe -option1:xx /option2:yy This command is working fine from windows command prompt. When I am triggering the same command from ssh I get the error message cant load Any ideas to deal with... (2 Replies)
Discussion started by: ahmedwaseem2000
2 Replies

9. Shell Programming and Scripting

Ssh fails due to argument position.

I have a constraint to follow organization policy. So i do not have much liberty. ssh -i /opt/nonprod user1@hostone -t bash works while ssh -i /opt/nonprod -t bash user1@hostone fails How can I get this to work when I am enforced to put -t bash before the user@hostname ? Will share debug... (3 Replies)
Discussion started by: mohtashims
3 Replies

10. Shell Programming and Scripting

ssh fails from one server only with expecting SSH2_MSG_KEXDH_REPLY message

I have two linux servers viz 12.7.44.18 and 12.7.45.18 I wish to ssh from both these server to a destination AiX server 12.7.33.18 The ssh works from 12.7.44.18 -> 12.7.33.18 but fails from 12.7.45.18 -> 12.7.33.18 The openssl version on both linux source 12.7.44.18 and 12.7.45.18 is the... (7 Replies)
Discussion started by: mohtashims
7 Replies
GIT-SHELL(1)							    Git Manual							      GIT-SHELL(1)

NAME
git-shell - Restricted login shell for Git-only SSH access SYNOPSIS
chsh -s $(command -v git-shell) <user> git clone <user>@localhost:/path/to/repo.git ssh <user>@localhost DESCRIPTION
This is a login shell for SSH accounts to provide restricted Git access. It permits execution only of server-side Git commands implementing the pull/push functionality, plus custom commands present in a subdirectory named git-shell-commands in the user's home directory. COMMANDS
git shell accepts the following commands after the -c option: git receive-pack <argument>, git upload-pack <argument>, git upload-archive <argument> Call the corresponding server-side command to support the client's git push, git fetch, or git archive --remote request. cvs server Imitate a CVS server. See git-cvsserver(1). If a ~/git-shell-commands directory is present, git shell will also handle other, custom commands by running "git-shell-commands/<command> <arguments>" from the user's home directory. INTERACTIVE USE
By default, the commands above can be executed only with the -c option; the shell is not interactive. If a ~/git-shell-commands directory is present, git shell can also be run interactively (with no arguments). If a help command is present in the git-shell-commands directory, it is run to provide the user with an overview of allowed actions. Then a "git> " prompt is presented at which one can enter any of the commands from the git-shell-commands directory, or exit to close the connection. Generally this mode is used as an administrative interface to allow users to list repositories they have access to, create, delete, or rename repositories, or change repository descriptions and permissions. If a no-interactive-login command exists, then it is run and the interactive shell is aborted. EXAMPLE
To disable interactive logins, displaying a greeting instead: + $ chsh -s /usr/bin/git-shell $ mkdir $HOME/git-shell-commands $ cat >$HOME/git-shell-commands/no-interactive-login <<EOF #!/bin/sh printf '%s ' "Hi $USER! You've successfully authenticated, but I do not" printf '%s ' "provide interactive shell access." exit 128 EOF $ chmod +x $HOME/git-shell-commands/no-interactive-login SEE ALSO
ssh(1), git-daemon(1), contrib/git-shell-commands/README GIT
Part of the git(1) suite Git 1.8.3.1 06/10/2014 GIT-SHELL(1)
All times are GMT -4. The time now is 03:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy