11-06-2025 03:47 AM
I need to remotely connect to a Linux machine using SSH
IP: 192.168.5.xx,
Port: 22
User: *****
Password: *****
Then then I want to send some commands "lsusb[...]" and "sudo lspci[...]", and read back the responses.
Are there any prewritten vi's for this, or can anyone share what they have done to overcome this?
11-06-2025 08:13 AM
There are a couple of SSH packages in VIPM. I haven't tried them myself though.
11-06-2025 08:19 AM - edited 11-06-2025 08:20 AM
I've used the Putty command-line tools for this in the past.
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
The device we were talking to needed some RSA keys for security, and the customer was able to provide .ppk files designed for Putty.
The command line for SSH w/ security keys was (example):
@echo OFF
echo n | "C:\Program Files\PuTTy\plink.exe" -i "C:\SSH\keys.ppk" root@192.168.1.2 echo "Hello World!"
Or without all the security key stuff:
@echo OFF
"C:\Program Files\PuTTy\plink.exe" root@192.168.1.2 echo "Hello World!"
There's also a command line tool for SCP file transfer, example:
@echo OFF
echo n | "C:\Program Files\PuTTy\pscp.exe" -scp -i "C:\SSH\keys.ppk" "C:\SSH\filetocopy.txt" root@192.168.1.2:/root/scripts/filetocopy.txt
It looks like they added native SSH into LabVIEW in version 2021. I've never played with it -- we are still on 2019 and I believe Putty was NI's recommended method back then.
11-06-2025 10:34 AM
LabVIEW 2021 includes support for SFTP and SSH. You can find the palettes under Data Communication >> Protocols.
12-04-2025 09:55 AM
There is only SFTP palette no SSH, but I am able to use this to connect. There is nothing in the palette for send receive so I can issue commands and read the response. In serial this is read write.
12-04-2025 10:40 AM
LabVIEW opens and closes the connection for each command, you would have to dig in deeper or use a different API if you want to reuse a connection.
The VIs are here: <labview>\vi.lib\net\SSH\NI_SSH.lvlib
LabVIEW SSH
Works for me on 64 bit LabVIEW.
Tim Cannon uses LabSSH2 for his RT SSH API commands, might be worth a look for you: https://gitlab.com/cannontim/rt-ssh-api