Can a Machine Send an Image of Itself Through SSH? - ssh

I was looking into storing a backup of my raspberry pi on my PC, and since SSH is set up on it already, I think it would be nice if I could just write a script to send the contents of the SD card from the pi to my pc. Is this something computers are capable of? Thanks

Related

Run Raspberry Pi script from Windows PC using Ethernet

As the title says, I want to run a script on the Raspberry Pi from my Windows PC. The connection between PC and Raspberry Pi 4 (Raspbian OS) should be done using an Ethernet cable. The Rasperry Pi cannot be operated permanently in the network. Is it correct that then a SSH connection is out of the question?
For background: the Raspberry Pi is connected to a camera and a stepper motor. Depending on the position of the object to be photographed, the stepper motor is moved and then a photo is taken. This photo is then to be sent back to the PC via the network cable. The script on the Raspberry Pi (rotation stepper motor and image capture) is implemented with Python and fully functional. Is it generally possible to run the Pi script using the Ethernet cable and transfer the generated images back?
Using a Windows QT GUI I want to start this script and display the images later.
Is this possible or can someone suggest a simpler way? Maybe someone already had a similar problem and would help me.
Many thanks in advance.
If you have an extra Ethernet NIC on your computer, you can directly connect your PC and Raspberry PI (on relatively newer hardware) or if that doesn't work, you can use a crossover Ethernet cable to connect your PC to the PI. Then configure an ssh server on the PI and enable Avahi and dhcpd and execute your script via that using MSYS ssh or Putty (ssh pi#hostname.local). Don't forget to change your hostname.
Bonus tip: you can also send your data (images) back over the same connection.

How to emulate USB-device as "alive" on VM?

Step by step:
My PC has connected printer via USB (I know VID:XXXX and PID:YYYY)
I took image of my PC and put inside virtual machine (VMWare)
Of course image on my VM doesn't has connected USB-printer (because real printer is connected to my real USB-port on my real PC).
One program is running and checking accessibility of printer by check connection with the printer via USB (I don't know how exactly - maybe via WMI, maybe via other way).
Results:
a) on my real PC this program works
b) on image doesn't work
QUESTION: is possible to emulate on VM-side that USB-port (VID:XXXX and PID:YYYY) is alive?
Thanks.
P.S. I don't want to install USB-redirect-via-TCP or similar approach.
You should switch to the QEMU emulator and to Linux to do that. VMWare probably doesn't support this of thing especially in a Windows environment.
If you are already on Linux, QEMU has hardware emulation of the xHCI and you can assign the host USB devices to KVM (read here: https://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest).
On Windows, I don't think this will be possible.

Remote connection to embedded device in field

I would like to ask about the way how to establish remote connection to Linux based embedded device in the field.
I have a small linux board I want to place in remote location. It has an internet access through ethernet. Than I have a Linux server with public IP to be able to tunnel connection.
And finally, I want to connect from my PC to this device.
I don't feel yet competent enough to code my own tcp sockets etc. to reroute the connection :) So what would be the easiest way to do that only with available linux tools? And BusyBox toolset on endpoints.
Thank's a lot!
I think that using OpenVPN would be a easy way to tunnel to the device. You can cross compile it and set it up as a client on the embedded device. Then you install it on your Linux box and set it up as a server.
Finally you install it on your work PC and set up as a client there.
It gives you a virtual network where all clients can talk to each other like they would be on a local network.

Raspberry pi on remote network (all done works are mentioned in details)

Firstly,here, I will mention all what I did to make raspberry pi as a web server or as a data cloud. But all the issues which were applied did not work. There are some problems in somewhere , but I dont know where, what , how.. ?
So let me start.
Firstly,I booted my raspberry pi with Raspian OS. It works in a best manner for sure.Then, I installed ntfs-3g to make it possible to read my hard drives by raspberry pi.
When I connected my hard drive (500 GB), raspberry pi went crazy,it freezed and so on.
I have two hypotheses. One of them , maybe hard drive could be so huge for raspberry pi to read and it could take lots of time to read.
But someone could do with 1TB hard drive. So this one is dead!
Another hypothesis is that hard drive is formatted with NTFS. Maybe it could be problem.
At first, I booted raspberry pi from a usb storage and when I connected that hard drive, raspberry tried to boot itself from hard drive, not from usb.That's why this is one another hypothesis. I havent disproved this yet. But i will and let you know.
Although I could not connect my hard drive to raspberry pi, I gave a break to that issue and I tried to create a connection from remote network to my raspberry pi.
I made raspberry's IP as a static. I could connect it from ssh and file zilla(ftp) LOCALLY. I disabled firewall of my router and observed my router's external IP. It has not changed for many days although I dont have a static external IP. Then, I arranged my port forwarding like these
"router_external_IP":8080 destination(raspberry's internal IP) is 22 (for SSH)
"router_external_IP":9000 destination(raspberry's internal IP) is 80 (for HTML)
"router_external_IP":8500 destination(raspberry's internal IP) is 3306(for mySql)
When SSH server and Mysql server ran on the raspberry pi, I tried to connect to raspberry pi
by SSH with "router_external_IP":8080 (from putty)
by browser with "router_external_IP":9000
by browser with "router_external_IP":8500
NO ONE WORKED :( ! [By the way, I installed web servers on it, but i did not mention]
Someone can say that "Are you sure about ports are open ?".
Yes I am sure I checked it out. But I am not sure on my router are forwarding these ports to raspberry pi or not . Also, I can not debug it.
Actually, I have 2 hypotheses on that also.
First one is that maybe router does not forward these ports to raspberry pi.
Second one is that maybe I am doing something wrong and that is why although router forwards all given ports to raspberry, raspberry can not respond.
I can not disprove these since I dont know how to debug.
I do not know what to do. I just got lost. Please help me on these issue.
An easy way to check if your router is forwarding your ports is to check them at: http://canyouseeme.org . If, as you say, all your ports are open on your internal network, if "canyouseeme" can't see your services then you know you need to tweak your router settings.

How to to run program when USB is inserted?

Hi I have one program that I need to run on my server but the problem is that my server don't have any monitor, keyabord and mouse attach to it so I can confirn when windows 7 ask me to run program so is posible to just plug USB Mass Storage device in a computer and computer would execute this without any qestions?
Perhaps you could look into using autorun or some variant thereof (e.g. a program that would monitor the USB bus for devices, and automatically run some program when it detects that an appropriate storage device has been connect).
Bear in mind that, depending on the physical setup, this could be used as an attack vector.
As Celeriko said, you should try to find a way into connecting to your server remotely. Whether that be through SSH or a tool such as PUTTY (basically SSH right? I'm not sure off top of my head).
Having a usb automatically execute something would be a security risk and I believe it is restricted for that reason.
Best of luck trying to connect remotely into your server, it shouldn't be too difficult.