I'm having a recurrent problem while using the Google Cloud Platform. To illustrate what's happening I created a new VM, successfully connected to it via gcloud beta compute ssh, and suspended the instance.
After it was suspended, I resumed it, but wasn't able to connect to it via ssh anymore, I ran the command:
gcloud beta compute ssh --zone "us-central1-a" "test-vm" --project "my-project" --ssh-flag="-vvv"
and received the following output:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/guilherme/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "34.66.57.82" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 34.66.57.82 [34.66.57.82] port 22.
debug1: connect to address 34.66.57.82 port 22: Connection timed out
ssh: connect to host 34.66.57.82 port 22: Connection timed out
ERROR: (gcloud.beta.compute.ssh) [/usr/bin/ssh] exited with return code [255].
The suspend/resume was done in browser, on GCP's platform.
Because of this problem I have not been able to suspend any VMs, since I "lose" it everytime. Does anyone know how to properly suspend it? Thanks
If there was a change in the setup "gcloud" denies an ssh connection, you must update the ssh keys in your metadata by:
sudo gcloud compute config-ssh
If this complains about different entries in your config file where your ssh key entries are stored, ~/.ssh/config, delete this file and execute the above command again.
If the internal firewall of the system block port 22, you can try the following steps to fix it:
In the GCP Console, go to the VM Instances.
Select the instance and click edit.
Find Custom metadata option and Click Add item and Type startup-script as a key and Copy and past the command sudo ufw allow ssh as a value. This command will enabled port 22 for SSH.
Recommend this topic Troubleshooting SSH for your issue.
Related
Three weeks ago, I could launch an aws instance spot and ssh to it using:
ssh -v -i /home/me/.ssh/aws3.pem ubuntu#ec2-3-145-53-84.us-east-2.compute.amazonaws.com
where the adress was the one under 'Public IPv4 DNS'. Now they have changed the interface and when I go through the hops of launching a spot instance, and it runs, and I get the Public IPv4 DNS, and I plug it in the command above, I get:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/me/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to ec2-3-145-53-84.us-east-2.compute.amazonaws.com [3.145.53.84] port 22.
debug1: connect to address 3.145.53.84 port 22: Connection timed out
ssh: connect to host ec2-3-145-53-84.us-east-2.compute.amazonaws.com port 22: Connection timed out
Fixed. In the new launch menu you have to replace the default
security group (under additional launch parameters - optional) by one of the existing ones (I picked launch-wizard-1). I guess they updated the default launch security group to something less user friendly.
I am trying to connect to an EC2 machine with the following command line on my terminal:
ssh -i id_rsa_aws <ec2_ip_address> -l ec2-user -vvv
Here is the result:
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: resolve_canonicalize: hostname <ec2_ip_address> is address
debug2: ssh_connect_direct
debug1: Connecting to <ec2_ip_address> [<ec2_ip_address>] port 22.
debug1: Connection established.
debug1: identity file id_rsa_aws type 0
debug1: identity file id_rsa_aws-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.8
ssh_exchange_identification: read: Operation timed out
My ssh_config file:
Host *
SendEnv LANG LC_*
I know the problem must come from my computer. I have tried using the .pem file and I am getting the same error.
Any help would be appreciated.
Thank you
Things to check:
The instance is running Linux
The instance is launched in a public subnet, which is defined as having a Route Table entry to points to an Internet Gateway
The instance has a public IP address, which you are using for the connection
The Network Access Control Lists (NACLs) are set to their default "Allow All" values
A Security Group associated with the instance that permits inbound access on port 22 (SSH) either from your IP address, or from the Internet (0.0.0.0/0)
Your network permits an outbound SSH connection (try alternate networks, eg home vs work vs tethered to your phone)
See also: Troubleshooting connecting to your instance - Amazon Elastic Compute Cloud
The quickstart mentions a few times that, "You should be able to ssh into any node in your cluster ..." (e.g., http://kubernetes.io/v1.0/docs/user-guide/connecting-applications.html#environment-variables). I have tried as described below but I am getting timed out.
I used export KUBERNETES_PROVIDER=aws; curl -sS https://get.k8s.io | bash to start the cluster
I have only specified AWS_REGION in my environment
The nodes are residing in VPC and I am able to ping them from a bastion
This is the result:
ubuntu#ip-10-128-1-26:~$ ssh core#170.20.0.248 -v
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 170.20.0.248 [170.20.0.248] port 22.
debug1: connect to address 170.20.0.248 port 22: Connection timed out
ssh: connect to host 170.20.0.248 port 22: Connection timed out
ubuntu#ip-10-128-1-26:~$
Any idea or pointers would be appreciated. Thank you.
It looks like your problem is with making sure the corresponding security group is open to ssh from whichever nodes you'd like to connect from. Make sure it's open to the public IP or the private IP, depending on which you're connecting from. For the right ssh key to use: it'll be whichever one you setup when spinning up the nodes. You can check that in the EC2 pane of AWS in the "key pairs" side bar option:
Sometime back everything was working fine and I was able to login via ssh. Suddenly the load on my instance went as high as 25, and I was't able to connect anymore. The error message I got was :
sh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused
I looked for possible solutions and tried rebooting my instance from aws management console. It didn't work. I also stopped my instance and started it again after sometime. This too didn't work. I tried using the java login console that they provide on their control panel, that too gave the same error.
I tried a more verbose response using the command :
ssh -vvv root#xxx.xxx.xxx.xxx
This resulted in the output below :
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 22.
debug1: connect to address xxx.xxx.xxx.xxx port 22: Connection refused
ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused
I am guessing the sshd service somehow stopped. Is there anyway I could restart it ?
Also there was this weird thing I noticed last time I logged in. There were 3k+ unsuccessful login attempts since the last successful login (which was a couple of hours back). Could this be the reason why sshd stopped working or could it be the load shooting upto 25?
P.S.: I have port 22 open for all i.p. addresses for ssh under security groups from AWS management console
I've carefully followed the instructions here and here, but still cannot connect to my new EC2 instance via SSH.
Yes, I have made sure that I allow inbound connections on port 22 from anywhere.
I have also enabled icmp from all over the universe for debugging purposes. You can see these settings in this screenshot:
So why can't I ssh to this machine via SSH?
$ ssh -vvv -i myKeyPair.pem ubuntu#ec2-X-X-X-X.us-west-2.compute.amazonaws.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ec2-X-X-X-X.us-west-2.compute.amazonaws.com http://X.X.X.X port 22.
debug1: connect to address X-X-X-X port 22: Operation timed out
ssh: connect to host ec2-X-X-X-X.us-west-2.compute.amazonaws.com port 22: Operation timed out
I can however ping it:
$ ping ec2-X-X-X-X.us-west-2.compute.amazonaws.com
PING ec2-X-X-X-X.us-west-2.compute.amazonaws.com (X.X.X.X): 56 data bytes
64 bytes from X.X.X.X: icmp_seq=0 ttl=42 time=91.994 ms
64 bytes from X.X.X.X: icmp_seq=1 ttl=42 time=91.922 ms
Is it because the SSH Daemon is not running on the box? How can I start that daemon if I can't even get on the box?
Can you telnet from your machine to this instance on port 22 and see that it's listening?
How about if you connect an Elastic IP and see if that helps anything?
If this instance was spun up in a VPC are your Security Groups and ACLs allowing outbound traffic on high ports to all addresses (0.0.0.0/0) or at least your address?