Controlling client terminal (linux) - linux

In my university I have a server (CLUB Server) but the university local network is closed I mean I can not access the server from outside (from my house for example) but the server have the ability to access another server on the internet so in order to control the server I decided to make my home computer a server and buy a Fix-IP and configure the server to connect to my home server and in that way I will be able to control the University server from my home server
So it's easy to do that for example I can make an IRC server at home and when the university server connect to my home server I will send him command in on the chat space but this is not enough because I want to control the university server terminal so is there any existing application that have the ability to do such a thing or I have to program the control of my IRC chat commands one by one , please post any information you have ?

you can daisy chain ssh from machine to machine. log onto the the server you can get to from the outside with user#ip once logged in there ssh through the LAN with user# lan ip for that server.

The solution is to use the Reverse SSH and it's to make the server connect to the client and make an SSH port forwarding from client computer to the server so anyone will be able to connect to the server just by connecting to the client computer
For more informations -> https://www.howtoforge.com/reverse-ssh-tunneling

Related

Send request from Webserver to Local server

I have a nodejs webserver running on a vserver (rented by me) and a local Raspberry Pi node server.
I dont want to open any ports for beeing accesable from the webserver.
My problem is that I want to create a web application you can interact with and the rpi should do things when any button is pressed on the webserver.
I thought it would be smart to create a json file on the webserver and my local server would listen on the json file.
Is there any better Idea?
Thx for your advice!
your problem can be solved using reverse proxy softwares that establishes secure tunnels from a public endpoint such as internet to a locally running network service.
ngrok is one of the best that I prefer to use.
To establish a communication between the raspberry and the webserver you need to open a port on the webserver.
However, you can restrict it to allow connections from the raspberry pi IP address only. Or do the connection via ssh and let the raspberry pi authenticate using its public key.

NoMachine cannot connect to Debian server, error 138

I can't connect to the KDE GUI installed on my Debian server, using NoMachine. Connection over SSH (Both through PuTTy as X forwarding) works just fine, but somehow I can't figure out how to connect using NoMachine and the NX protocol.
I installed the NoMachine server on my Debian server (nomachine_5.1.54_1_amd64.deb), which seems to work fine. It listens on port 4000. I disabled the firewall on the server.
Then I installed NoMachine on my windows system and tried to connect to the server, using the same IP address as with the ssh connection, and the login credentials I use to login on the server.
I approach the server from another network, using a VPN connection and the HTTP proxy for the network connection.
I tried the tips provided online, but can't get it to work. I still get the error message:
Could not connect to the server.
Error is 138: Connection timed out
Help would be highly appreciated!
You should use the same IP address that is shown in the Welcome GUI like the attached image (taken from the nomachine website)
nomachine welcome gui showing where to connect

proxy/tunnel connections through FTP

[Server A] ----- [FTP server] ---- [Server B]
Server A and B can both see the FTP server but not each other. Is there a way to create a tunnel between them through the ftp server, only using the FTP protocol?
FTP will only transfer data to disk or from disk, so the only way to tunnel anything is to store the data on one side and retrieve them on the other side.
You need to install a FTP Proxy on the FTP server, maybe your server already supports proxy connections. This allows Server A to connect to FTP Server and use it as a proxy to connect to Server B and vice versa.
Once Server A has connected to the FTP Server, the FTP Protocol allows to send the command USER <user>#ServerB which will result in FTP Server connecting to Server B and function as a proxy from now on.
I have some experience with FileZilla and it worked fine for me testing a FTP Proxy Product as it offers a lot of the supported mechanisms how to tell a FTP Proxy to connect to the destination server. It also displays all FTP Commands which will be send over the wire, which really helped a lot in troubleshooting.

What is the best way to test a video chat application locally?

If I am running a local server that is hosting a video chat application what is the best way to test the application with another user? Lets say I have two computers, is there a way I can allow computer B to connect to the local server that is running on computer A? The goal is to simply test whether the video chat application works properly in two completely different browsers running on separate computers. If there is a way I can trick the app into thinking the computer that is running the local server is another host, please let me know.
But Remember that the app needs access to the computers webcam. Thanks!
Addition Info: Nodejs application that uses the Tokbox, express, and socket.io APIs
Just make sure your web server is listening on a routable IP like "0.0.0.0", which you specify when you call http.createServer(port, ip, handler). Then point the browsers at the server's IP address such as http://192.168.1.1:3000 (fill in your specific IP and port). You can use the command ifconfig -a on linux or osx to get your server's local IP address, and ipconfig on windows.

adding lan support in a HTML5 game using javascript

i want to add lan support to tic-tac-toe game which is a HTML5 canvas based, so that two players can easily play. how can i do it using javascript/node.js?
OK, I'm assuming all of your HTML5 game is finished and you're distributing it with the server that hosts it. (Otherwise you're stuck to just the browser, which can't do all the awesome node.js net stuff, I am describing.)
NB: You need to have node.js running on both clients. Otherwise you can't do LAN-only without a central server's involvement.
One of your clients has decided they want to host a LAN game
The node.js server running on that client starts to listen on a port
That server find out its local IP Get local IP address in node.js
Options:
Your players can manually tell each other the IP of the hosting server
Your hosting server sends out broadcast messages to its local subnet, informing them that it's hosting a game
Your other client server scans for IPs in its local subnet to find any hosting gameservers (Tries to open the pre-determined port your hosting server is listening on.)
The other node.js client opens a connection to the hosting server.
Done.

Resources