LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   remote desktop file transfer (https://www.linuxquestions.org/questions/linux-software-2/remote-desktop-file-transfer-910432/)

knobby67 10-27-2011 05:17 AM

remote desktop file transfer
 
Hi
I'm running Unbuntu remote desktop to control another Ubuntu PC. However I need to transfer software from one to the other on a regular basis, is there an easyway to do this on Ubuntu remote desktop? I've tried cut and paste but this doesn't seem to work.
I can use ftp but it would be nice for an easy graphical method.

camorri 10-27-2011 06:24 AM

Setup NFS, then you should be able to use any of the gui file managers.

This link will get you started. -->http://www.linuxquestions.org/linux/...rking/Easy_NFS

unSpawn 10-27-2011 06:41 AM

Quote:

Originally Posted by knobby67 (Post 4509648)
I'm running Unbuntu remote desktop to control another Ubuntu PC.

Please don't use VNC, Vino or whatever else RDP-like software directly and don't ever log in as root over any network. If you have to VNC then secure the connection over SSH (pubkey auth+ssh-agent+tunnel+autossh) instead.


Quote:

Originally Posted by knobby67 (Post 4509648)
I can use ftp but it would be nice for an easy graphical method.

FTP, like VNC, transmits plain text credentials over the 'net. As there's GUI applications ponder using SFTP, SCP or FTPS instead. And with SSH in place you can also use FUSE sshfs.

gradinaruvasile 10-27-2011 11:56 AM

Use ssh. It is a native Linux protocol, very secure (as long as you use good passwords), very easy to set up and it permits console logins, file transfers (sftp) and it can tunnel ports through the secure connection which is very handy for vnc or the like.

Here is how it works:

First install the ssh server on both computers.

1. here you have a multitude of options, but the

a) simple (less secure) version is:

- make sure you have a vnc server running on the remote machine
- log in via ssh with port forwarding enabled:

ssh user@remotemachine -L 5900:localhost:5900

user= linux user on the remote machine
remotemachine= ip address/name of the remote machine
-L 5900:localhost:5900 - tunnels (connects) the remote computers localhost:5900 port to your computers localhost:5900 port

2. Connect to YOUR localhost with the vnc viewer (NOT THE REMOTE IP). The connection will be made to the remote server via the ssh tunnel.

Caveats: -the remote server runs a VNC (unsecure server). Solution: restrict the VNC server to permit only localhost connections (i dont know if gnomes crappy builtin vnc server can do this, but the far better x11vnc can) and/or firewall the 5900 EXTERNAL port (on the network connection interface, but NOT localhost).

b) more complicated but more secure version:

1. do not run the VNC server on the remote machine (but have it installed)

2.a log in via ssh and both tunnel the VNC port AND launch the VNC server on the remote machine VIA SSH then connect to localhost:

Code:

ssh user@remotemachine -L 5900:localhost:5900 -p sshport 'command_that_launches_VNC_server'
sshport=the port that the remote machines ssh server is bound to (the default is 22, changing you might add some extra security)
command_that_launches_VNC_server=the command that launches the vnc server on the remote machine - Gnomes builtin vnc is vino-server, but you might need some extra gconf hodge-podge to enable it.
I recommend using x11vnc for VNC server, it has all bells and whistles that one can wish for and more. In its case:

Code:

'x11vnc -auth guess -display :0 -localhost -xkb -solid'
this launches x11vnc on the console session (display 0) bound only to localhost and removes the wallpaper (-solid)

2.b the most secure: launch a listening vnc viewer client on your machine in LISTEN MODE,log in via ssh and both tunnel the VNC port AND launch the VNC server with the REVERSE CONNECT option to make it CONNECT BACK to your machine instead of listening (this is the way i use it):


Code:

ssh user@remotemachine -R 5500:localhost:5500 -p sshport 'command_that_launches_VNC_server'
example

Code:

ssh user@192.168.1.5 -R 5500:localhost:5500 -p 40000 'x11vnc -auth guess -display :0 -localhost -xkb -solid -connect localhost'
note that "L" became "R" and the port is 5500 instead of 5900 - R means that the port export order is reversed (because the remote side connects to yours) and the 5500 port is the default port used by the VNC remote connect protocol.

Reverse connection listener: depends on the program of course (most decent and better VNC viewers have it). Remmina for example has it directly in its menus, ssvncviewer/vncviewer has a command line switch ("-listen" or ="multilisten"), etc.


FILE TRANSFER: any sftp-capable software. Nautilus has direct support for it - just connect the remote computer as ssh share to yours and you have complete control (as far the remote user permissions are of course) over the whole remote file system.

But the handiest way is using Remmina as the VNC viewer - it has ssh tunneling capability built-in + it has sftp file transfer capability built-in (this works only if you tunnel the connection via ssh of course). It can also open terminals to the remote computers. The nice thing about it is that you have to authenticate only once at connection time, the subsequent connections (sftp/terminal) all use the initial credentials.

ALso, you can use x11vnc's ultravnc-based built-in file transfer capabilities. In this case you will need ssvncviewer to connect to the server though, no other Linux-based vnc viewers know ultravnc file transfer as far as i know.


PS - all the above stuff is there because on one thing: VNC by itself is an UNSECURE protocol - ssh is protocol developed with security in mind. Just make sure you have a secure password.


All times are GMT -5. The time now is 12:29 PM.