Sponsored Content
Operating Systems Linux Red Hat SFTP user include/exclude without preventing SSH login Post 302783901 by rbatte1 on Thursday 21st of March 2013 07:03:57 AM
Old 03-21-2013
SFTP user include/exclude without preventing SSH login

I have been asked to see if we can restrict SFTP access to authorised users only. There will be business users who will log on with SSH, but they are locked into a menu. They will have write access to the production data to do their job, but we don't want them to have access to read/write the files with SFTP or anything else for that matter.

For plain FTP, we would use the /etc/ftpusers file and re-create it each night with all users in /etc/passwd except those in the allowed list. Not clever, but it worked.


We're running RHEL / Centos 6.3 and the server is running vsftp is installed for plain FTP along with openssh-server-5.3p1-81.el6_3.x86_64 The sshd_config file defines sftp as starting up /usr/libexec/openssh/sftp-server


Any suggestions? Badly, the users home directory is a common area with the application & data below it, so I can't just enforce the chroot jail. User SSH login is by userid/password rather than certificate. Not sure if that helps or hinders.


Thanks, in advance,
Robin
 

10 More Discussions You Might Find Interesting

1. HP-UX

User not able to login directly using ssh

HI, We are facing a problem while trying to login using ssh. The user is able to login using telnet. We are able to login as another user using ssh and then su to that user which is successfull. What should i be checking for the user to be able to login directly using ssh. Thanks in... (2 Replies)
Discussion started by: sag71155
2 Replies

2. Shell Programming and Scripting

SSH login with user name and script.

I want to login to server using ssh or telnet and execute one command then exit to the shell Please let me know how to write script for this? (1 Reply)
Discussion started by: svenkatareddy
1 Replies

3. UNIX for Dummies Questions & Answers

$USER is not set in remsh but works fine via ssh login

1) ssh a@b echo $USER it display the correct value as a (even though i have not defined it in .profile) 2) remsh b -l a echo $USER it does not display the value as a (variable is not set any idea why $USER variable is not initialized when i login via remsh or rlogin but shows the... (10 Replies)
Discussion started by: reldb
10 Replies

4. Shell Programming and Scripting

Using Grep Include/Exclude Files

I wrote this korn script and ran into a hole. I can use find to exclude all the hidden directories and to use my include file/exclude files for running a full backup find / -depth -ipath '/home/testuser/.*' -prune -o -print| grep -f include.mydirs | grep -v -f exclude.mydirs but when I... (8 Replies)
Discussion started by: metallica1973
8 Replies

5. AIX

restricting sftp and ssh for a user

I want to know if there is any way to set up a users home directory access with a restricted shell and allow them to SFTP to the directory. I want to allow the user to SSH into their home directory but no where else on the AIX server. I also want the user to be able to SFTP files to their home... (1 Reply)
Discussion started by: daveisme
1 Replies

6. HP-UX

Suppress SSH login logs of a user

Hi, I want to suppress ssh login logs of a particular user to get logged in /var/adm/syslog/syslog.log As am using a user to monitor a server over ssh in 5 miute interval..and that creating un-necessary logs in my syslog.log file .. Please help me if there any way I can suppress this logs only... (6 Replies)
Discussion started by: Shirishlnx
6 Replies

7. Shell Programming and Scripting

How to restrict ssh by forced commands but sftp login should be enabled?

Hi, I am trying to restrict an ssh-user to execute unwanted commands using ssh from a remote host a. So for that I am using the forced command in the authorized_keys file that will allow the ssh-user to only execute a particular command. If I did not set this, I am able to login via ssh and... (2 Replies)
Discussion started by: Anil George
2 Replies

8. Solaris

How can i setup ssh password-less login for particular user?

HI Community. I was trying to create ssh password less authentication for one user called night and it's not working for me. These are the steps I followed:- I have logged into the server and issued ssh-ketgen -t rsabash-3.2$ ssh-keygen -t rsa Generating public/private rsa key pair.... (4 Replies)
Discussion started by: bentech4u
4 Replies

9. Shell Programming and Scripting

Rsync exclude & include?

hi I have a few folders and a few files , for example Directory A B C D E Files 1 2 3 4 5 I want B directory and "2" File that does not sync But other directories and file sync What is the solution ? Is there a way to sync time is under one minute? os centos 6.8 thanks... (5 Replies)
Discussion started by: mnnn
5 Replies

10. AIX

Ssh not allowing NIS user to login

As I do a ssh <nis_user>@server1 from server2, ssh prompts for certificates (as expected the first time), then it prompts for the users password, as soon as I enter the password, I get a Connection to server1 closed by remote host, and connection to server1 closed. and I disconnect back to the... (3 Replies)
Discussion started by: mrmurdock
3 Replies
ct_ssh(3erl)						     Erlang Module Definition						      ct_ssh(3erl)

NAME
ct_ssh - SSH/SFTP client module. DESCRIPTION
SSH/SFTP client module. ct_ssh uses the OTP ssh application and more detailed information about e.g. functions, types and options can be found in the documentation for this application. The Server argument in the SFTP functions should only be used for SFTP sessions that have been started on existing SSH connections (i.e. when the original connection type is ssh ). Whenever the connection type is sftp , use the SSH connection reference only. The following options are valid for specifying an SSH/SFTP connection (i.e. may be used as config elements): [{ConnType, Addr}, {port, Port}, {user, UserName} {password, Pwd} {user_dir, String} {public_key_alg, PubKeyAlg} {connect_timeout, Timeout} {key_cb, KeyCallbackMod}] ConnType = ssh | sftp . Please see ssh(3erl) for other types. All timeout parameters in ct_ssh functions are values in milliseconds. DATA TYPES
connection() = handle() | target_name() (see module ct) : handle() = handle() (see module ct_gen_conn) : Handle for a specific SSH/SFTP connection. ssh_sftp_return() = term() : A return value from an ssh_sftp function. EXPORTS
apread(SSH, Handle, Position, Length) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). apread(SSH, Server, Handle, Position, Length) -> term() apwrite(SSH, Handle, Position, Data) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). apwrite(SSH, Server, Handle, Position, Data) -> term() aread(SSH, Handle, Len) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). aread(SSH, Server, Handle, Len) -> term() awrite(SSH, Handle, Data) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). awrite(SSH, Server, Handle, Data) -> term() close(SSH, Handle) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). close(SSH, Server, Handle) -> term() connect(KeyOrName) -> {ok, Handle} | {error, Reason} Equivalent to connect(KeyOrName, host, []) . connect(KeyOrName, ConnType) -> {ok, Handle} | {error, Reason} Equivalent to connect(KeyOrName, ConnType, []) . connect(KeyOrName, ConnType, ExtraOpts) -> {ok, Handle} | {error, Reason} Types KeyOrName = Key | Name Key = atom() Name = target_name() (see module ct) ConnType = ssh | sftp | host ExtraOpts = ssh_connect_options() Handle = handle() Reason = term() Open an SSH or SFTP connection using the information associated with KeyOrName . If Name (an alias name for Key ), is used to identify the connection, this name may be used as connection reference for subsequent calls. It's only possible to have one open connection at a time associated with Name . If Key is used, the returned handle must be used for subsequent calls (multiple connections may be opened using the config data specified by Key ). ConnType will always override the type specified in the address tuple in the configuration data (and in ExtraOpts ). So it is possi- ble to for example open an sftp connection directly using data originally specifying an ssh connection. The value host means the connection type specified by the host option (either in the configuration data or in ExtraOpts ) will be used. ExtraOpts (optional) are extra SSH options to be added to the config data for KeyOrName . The extra options will override any exist- ing options with the same key in the config data. For details on valid SSH options, see the documentation for the OTP ssh applica- tion. del_dir(SSH, Name) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). del_dir(SSH, Server, Name) -> term() delete(SSH, Name) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). delete(SSH, Server, Name) -> term() disconnect(SSH) -> ok | {error, Reason} Types SSH = connection() Reason = term() Close an SSH/SFTP connection. exec(SSH, Command) -> {ok, Data} | {error, Reason} Equivalent to exec(SSH, Command, DefaultTimeout) . exec(SSH, Command, Timeout) -> {ok, Data} | {error, Reason} Types SSH = connection() Command = string() Timeout = integer() Data = list() Reason = term() Requests server to perform Command . A session channel is opened automatically for the request. Data is received from the server as a result of the command. exec(SSH, ChannelId, Command, Timeout) -> {ok, Data} | {error, Reason} Types SSH = connection() ChannelId = integer() Command = string() Timeout = integer() Data = list() Reason = term() Requests server to perform Command . A previously opened session channel is used for the request. Data is received from the server as a result of the command. get_file_info(SSH, Handle) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). get_file_info(SSH, Server, Handle) -> term() list_dir(SSH, Path) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). list_dir(SSH, Server, Path) -> term() make_dir(SSH, Name) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). make_dir(SSH, Server, Name) -> term() make_symlink(SSH, Name, Target) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). make_symlink(SSH, Server, Name, Target) -> term() open(SSH, File, Mode) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). open(SSH, Server, File, Mode) -> term() opendir(SSH, Path) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). opendir(SSH, Server, Path) -> term() position(SSH, Handle, Location) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). position(SSH, Server, Handle, Location) -> term() pread(SSH, Handle, Position, Length) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). pread(SSH, Server, Handle, Position, Length) -> term() pwrite(SSH, Handle, Position, Data) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). pwrite(SSH, Server, Handle, Position, Data) -> term() read(SSH, Handle, Len) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). read(SSH, Server, Handle, Len) -> term() read_file(SSH, File) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). read_file(SSH, Server, File) -> term() read_file_info(SSH, Name) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). read_file_info(SSH, Server, Name) -> term() read_link(SSH, Name) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). read_link(SSH, Server, Name) -> term() read_link_info(SSH, Name) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). read_link_info(SSH, Server, Name) -> term() receive_response(SSH, ChannelId) -> {ok, Data} | {error, Reason} Equivalent to receive_response(SSH, ChannelId, close) . receive_response(SSH, ChannelId, End) -> {ok, Data} | {error, Reason} Equivalent to receive_response(SSH, ChannelId, End, DefaultTimeout) . receive_response(SSH, ChannelId, End, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason} Types SSH = connection() ChannelId = integer() End = Fun | close | timeout Timeout = integer() Data = list() Reason = term() Receives expected data from server on the specified session channel. If End == close , data is returned to the caller when the channel is closed by the server. If a timeout occurs before this happens, the function returns {timeout,Data} (where Data is the data received so far). If End == timeout , a timeout is expected and {ok,Data} is returned both in the case of a timeout and when the channel is closed. If End is a fun, this fun will be called with one argument - the data value in a received ssh_cm message (see ssh_connection(3erl)). The fun should return true to end the receiv- ing operation (and have the so far collected data returned), or false to wait for more data from the server. (Note that even if a fun is supplied, the function returns immediately if the server closes the channel). rename(SSH, OldName, NewName) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). rename(SSH, Server, OldName, NewName) -> term() send(SSH, ChannelId, Data) -> ok | {error, Reason} Equivalent to send(SSH, ChannelId, 0, Data, DefaultTimeout) . send(SSH, ChannelId, Data, Timeout) -> ok | {error, Reason} Equivalent to send(SSH, ChannelId, 0, Data, Timeout) . send(SSH, ChannelId, Type, Data, Timeout) -> ok | {error, Reason} Types SSH = connection() ChannelId = integer() Type = integer() Data = list() Timeout = integer() Reason = term() Send data to server on specified session channel. send_and_receive(SSH, ChannelId, Data) -> {ok, Data} | {error, Reason} Equivalent to send_and_receive(SSH, ChannelId, Data, close) . send_and_receive(SSH, ChannelId, Data, End) -> {ok, Data} | {error, Reason} Equivalent to send_and_receive(SSH, ChannelId, 0, Data, End, DefaultTimeout) . send_and_receive(SSH, ChannelId, Data, End, Timeout) -> {ok, Data} | {error, Reason} Equivalent to send_and_receive(SSH, ChannelId, 0, Data, End, Timeout) . send_and_receive(SSH, ChannelId, Type, Data, End, Timeout) -> {ok, Data} | {error, Reason} Types SSH = connection() ChannelId = integer() Type = integer() Data = list() End = Fun | close | timeout Timeout = integer() Reason = term() Send data to server on specified session channel and wait to receive the server response. See receive_response/4 for details on the End argument. session_close(SSH, ChannelId) -> ok | {error, Reason} Types SSH = connection() ChannelId = integer() Reason = term() Closes an SSH session channel. session_open(SSH) -> {ok, ChannelId} | {error, Reason} Equivalent to session_open(SSH, DefaultTimeout) . session_open(SSH, Timeout) -> {ok, ChannelId} | {error, Reason} Types SSH = connection() Timeout = integer() ChannelId = integer() Reason = term() Opens a channel for an SSH session. sftp_connect(SSH) -> {ok, Server} | {error, Reason} Types SSH = connection() Server = pid() Reason = term() Starts an SFTP session on an already existing SSH connection. Server identifies the new session and must be specified whenever SFTP requests are to be sent. subsystem(SSH, ChannelId, Subsystem) -> Status | {error, Reason} Equivalent to subsystem(SSH, ChannelId, Subsystem, DefaultTimeout) . subsystem(SSH, ChannelId, Subsystem, Timeout) -> Status | {error, Reason} Types SSH = connection() ChannelId = integer() Subsystem = string() Timeout = integer() Status = success | failure Reason = term() Sends a request to execute a predefined subsystem. write(SSH, Handle, Data) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). write(SSH, Server, Handle, Data) -> term() write_file(SSH, File, Iolist) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). write_file(SSH, Server, File, Iolist) -> term() write_file_info(SSH, Name, Info) -> Result Types SSH = connection() Result = ssh_sftp_return() | {error, Reason} Reason = term() For info and other types, see ssh_sftp(3erl). write_file_info(SSH, Server, Name, Info) -> term() AUTHORS
<> common_test 1.5.3 ct_ssh(3erl)
All times are GMT -4. The time now is 09:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy