Re: Thanks and Suggestions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Feb 28, 2009 at 8:44 PM, Chris Mirchandani <novashadow@xxxxxxx> wrote:
>
> Response to the response to suggestions 3 & 4. 1) In a way these functions are already
> security holes as anyone with access to the system with the forwards can access these
> ports and based on how they are presented in PS, they are relatively easy to locate.
> The program or option to ssh I suggest would be based on user access. A user could
> only see the details of forwards and tunnels created using his/her own username or a
> username for which he/she has a password. The root user would be able to see them
> all. 2) In most cases, the remote service will be password protected and in a
> unsecured system, this should always be the case.

It comes down to what is controllable by the developers.  You can't
hide open sockets
(without kernel modifications), but, you don't need to make it easier
for a cracker.

> Of course this brings up another suggestion, forwards that are per user limited.

Not possible for TCP/IP.  All IP sockets are global, unless a kernel
modification does
something different.  If you prepend user authentication upon
connection to a TCP/IP
forwarded socket, you break protocols.  You will have to modify every
application that
you use to support this authentication step, before going on with the
normal protocol.

The only possibility would be the dynamic port forwarding, because is uses the
SOCKS5 proxy protocol specifically and that protocol supports user
authentication.

Unix Domain sockets can have user/group permissions, as they are implemented in
the filesystem.  But you can't telnet or browse (via web browser) to Unix Domain
sockets.

> Response to the response to my question. I would want the STDIN, STDOUT and
> STDERR for the remote command to be the same as if I ran it locally. Would
> changed the STDIN, STDOUT and STDERR of the local call command and not
> the remote command do what I want?

Then you are stuck with the ssh command not returning, until the daemon (or
backgrounded process) ends or closes it's STDIN, STDOUT and STDERR.

For the output to be forwarded to your local machine, the ssh
connection must still
be up.  For the ssh connection to stay up, the ssh client must still be running.

The only way that ssh knows that there is no more output to come, is
that the output
channels have been closed.

You can background your local ssh command:
$ ssh joe@xxxxxxxxxxx "sleep 1000" < /dev/null > outfile 2>&1 &

That will background the local ssh command and return your prompt.  The ssh
command will still not really exit, until the command on the remote machine
ends.

-- 
And, did Galoka think the Ulus were too ugly to save?
                                         -Centauri

[Index of Archives]     [Open SSH Unix Development]     [Fedora Users]     [Fedora Desktop]     [Yosemite Backpacking]     [KDE Users]     [Gnome Users]

  Powered by Linux