scp to another linux system via ssh where not using port 22 [closed] - linux

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I'm trying to copy a folder from one system to another using scp (secure copy) however I cannot work out how to specify the port.
I understand that to scp, I can...
scp /file/location/folderName user#192.***.*.***:/destination/location/
however I have changed the destination system's SSH port so I get get this error...
ssh: connect to host ..*.*** port 22: Connection refused lost
connection
Is there some sort of -p command I can use to specify port number?
I also tried adding the port like this...
scp /file/location/folderName user#192.***.*.***:>>portNumHere<</destination/location/
Updated with solution...
I was struggling not only with using the wrong -P but also where to place. I know understand and this works for me...
scp -r -P >>portNumHere<< /file/location/folderName user#192.***.*.***:/destination/location/

Use a capital -P port. The lower case -p option conflicts with the -p "preserve" option from cp.
Per the man page:
scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user#]host1:]file1 ... [[user#]host2:]file2
...
-P port
Specifies the port to connect to on the remote host. Note that
this option is written with a capital ā€˜Pā€™, because -p is
already reserved for preserving the times and modes of the
file.

Related

Closing an open ssh port in Linux with one line [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 years ago.
Improve this question
I often ssh tunnel into Rstudio on a server I have set up. I'm trying to devise a single command that I can use to close the ssh port. I know that I can find the PID for localhost:1234 with:
sudo lsof -i :1234
And I also know that I can kill the process with:
sudo kill $(sudo lsof -t -i:1234)
The issue is that if I have Chrome open to run Rstudio server, the 2nd command will kill the open Chrome browswer as well. Is there a way to modify the 2nd command so that I close the open ssh port, but not the Chrome browser? There are two PID numbers, so I could theoretically grep for 'ssh' but I'm not sure how.
EDIT FOR CLARITY:
For example, I get the following output from the first command. I want to modify the 2nd command so that I can kill PID 15834, but not 30117. Apologies, I hope that makes more sense.
try this
sudo kill $(sudo lsof -t -i:1234 -c ssh)
-c => selects the listing of files for processes executing the command that begins with the characters of c.
Just firewall the port:
sudo iptables -I INPUT -p tcp --dport 1234 -j DROP

netstat -p flag not working [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
I'm trying to close some CLOSE_WAIT localhost processes, and so am trying to get their process id's using 'netstat -anp'.
I've seen multiple posts recommending this, however, everytime I enter this command into terminal, i get this man page message:
netstat: option requires an argument -- p
Usage: netstat [-AaLlnW] [-f address_family | -p protocol]
netstat [-gilns] [-f address_family]
netstat -i | -I interface [-w wait] [-abdgRt]
netstat -s [-s] [-f address_family | -p protocol] [-w wait]
netstat -i | -I interface -s [-f address_family | -p protocol]
netstat -m [-m]
netstat -r [-Aaln] [-f address_family]
netstat -rs [-s]
I don't know what the problem is.
Are you using linux? or any other BSD version such as OS X?
In Linux, -p references to process id (PID - the you are expecting) while in OS X (maybe in free/open BSD too, but can't confirm it) -p references to a protocol and need it to be specified.
Regarding the output you are posting, this seems to be the problem, you can use instead:
(maybe you would change the port range, I put the whole line as an example)
lsof -i tcp:1-1024 -P |grep CLOSE_WAIT

How do I check if a port is open between two Linux servers? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
How do you check if a port is open when you cannot use telnet or install Cacti? I want to see if a port is open between two Linux servers. Telnet isn't installed. I tried this command:
cat < /dev/tcp/x.x.x.x/6061
where x.x.x.x was the remote IP address of the Linux server and port 6061 is the port that I want to test. But based on tests of known working and not working ports, this command wasn't conclusive to me. There may be an environmental explanation for that.
Install nmap and than:
nmap x.x.x.x
Better use (if installed) : netcat :
nc -zw3 <host> <port>
If you want to use the bash feature net redirection :
cat < /dev/tcp/x.x.x.x/6061
do it the right way :
{ exec 3<> /dev/tcp/127.0.0.1/6061; } &>/dev/null &&
echo "Connection to socket OK" ||
echo >&2 "Can't connect"
If it doesn't work, you need to compile bash with --enable-net-redirections

Google Compute Engine - troubleshooting SSH default port [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 9 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Improve this question
when running
gcutil ssh myproject_name
ssh run with the following command
ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /Users/MyUser/.ssh/google_compute_engine -A -p 22 MyUser#xxx.xxx.xxx.xxx
i've changed my ssh port to 1234 in sshd_config file and opened a firewall rule at my compute engine console. executing the following command works perfect and connection is established
ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /Users/MyUser/.ssh/google_compute_engine -A -p 1234 MyUser#xxx.xxx.xxx.xxx
but when running this command gcutil ssh myproject_name port 22 is being called.
How & where can i change the default port of ssh so I wont have to use the long command in order to connect to my instance
gcutil supports alternate ports via the --ssh_port flag. In your case, this should work:
gcutil ssh --ssh_port 1234 INSTANCE_NAME

Telnet File Transfer between two linux machines [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
I want to send a file from one Linux machine with IP suppose "192.168.2.25" to other Linux machine that's a server "192.168.2.110"
how can i do that by using Telnet command??
A simple option is to use netcat (nc). This is particularly useful on stripped down Linux systems where services like ssh and ftp are turned off.
On destination machine run the following command: nc -l -p 1234 > out.file
On source machine run the following command: nc -w 3 <dest-ip-adr> 1234 < out.file
For more details look, for example, here.
There are also netcat implementations for Windows, e.g. ncat.
While it may not be possible with only telnet, it is possible with telnet and netcat. Some of the examples above just referenced using netcat, but there have been times when I was on an old machine that was still in production that had telnet but not netcat. In this case, you can set netcat to listen on a newer, remote machine and telnet the file to it.
On the newer remote machine:
netcat -l <PORT> > OUTPUT.FILE
On the older telnet only machine:
cat FILE | telnet REMOTE-HOST PORT
Note that this works with text files. If you have a binary file of some sort you would need to do further manipulation on both ends.
Telnet just gives you a remote terminal session. The best you could do is telnet, open a new file in an editor and copy/paste the text from the local machine.
To copy files use something like rsync, scp, rcp or ftp.

Resources