我安装了Google Cloud SDK
思想Web UI我创建了一个新实例 . 我不了解SSH . 我按照这里描述的步骤进行操作:https://cloud.google.com/compute/docs/instances#sshkeys
我有Window 7 OS
我按照此处的建议检查了防火墙规则:https://cloud.google.com/compute/docs/troubleshooting#ssherrors我通过Web UI检查了这些规则并找到了规则
"default-allow-ssh 0.0.0.0/0 tcp:22 Apply to all targets"
我遵循的步骤:
1)> gcloud auth login
(默认浏览器打开,我授权Google Cloud SDK)Google SDK Shell输出:
"Saved Application Credentails. You are now logged as [someuser@gmail]
Your current project is [some-project-999].
2)> gcloud compute ssh my-instance --zone us-central1-a
Google SDK Shell输出:
WARNING: You do not have an SSH key for Google Compute Engine.
WARNING: [C:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin\..\bin\sdk\ssh-keygen.EXE] will be executed to generate
a key.
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
The key fingerprint is:
ssh-rsa 2048 06:73:ac:e8:f2:31:c8:df:d4:b0:a2:3b:a2:53:6c:09
Your private key has been saved in C:\Users\First Last\.ssh\google_compute_engine.
Your public key has been saved in C:\Users\First Last\.ssh\google_compute_engine.pub.
Your putty key has been saved in C:\Users\First Last\.ssh\google_compute_engine.ppk.
Updated [https://www.googleapis.com/compute/v1/projects/arctic-depth-863].
Server refused our key
FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
Server refused our key
FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
Server refused our key
FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
FATAL ERROR: Network error: Software caused connection abort
FATAL ERROR: Network error: Connection timed out
ERROR: (gcloud.compute.ssh) Could not SSH to the instance. It is possible that your SSH key has not propagated to the i
nstance yet. Try running this command again. If you still cannot connect, verify that the firewall and instance are set
to accept ssh traffic.
在浏览器的Web UI上,我打开Broser的SSH,然后导航到.ssh文件夹
someuser_gmail_com@my-instance:~$ cd .ssh
someuser_gmail_com@my-instance:~$ cat authorized_keys
# Added by Google
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4OxYxWvIlp...F7As google-ssh {"userName":"someuser@gmail.com","expireOn":"2015-02-21T23:29:06+0000"}
# Added by Google
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzd...KRqcUZmvWr= google-ssh {"userName":"someuser@gmail.com","expireOn":"2015-02-21T23:28:55+0000"}
在Web UI上,我导航到Project的> Compute> Compute Engine> Metadata> SSH KEYS,我看到三条记录
USERNAME KEY
-
someuser_gmail_com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4 ... ", " edpireOn ":" 2015-02-21T23:29:06 0000“}
-
someuser_gmail_com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTIt ... ", " edpireOn ":" 2015-02-21T23:29:06 0000“}
-
First Last ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAi ... ZkpSpRt6RQ == First Last @ MYPC
在我的本地计算机中,我导航到Users / First Last / .ssh / google_compute_engine.pub,我看到了
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAit...mGhUKZRgFZkpSpRt6RQ== First Last@MYPC
问题:
-
用户文件夹路径中的空格是否会导致问题(即"First Last")?
-
当密钥由Google Cloud SDK创建时,它会将评论设置为First Last @ MYPC . 这是正确的设置吗? (我一直在阅读并尝试这个和那个,我怀疑它应该像someuser @ my-instance-public-IP)
当我的Google Cloud SDK> gcloud计算实例描述my-instance --zone us-central1-a --forma yaml时
canIpForward: false
creationTimestamp: '2015-02-21T14:53:37.276-08:00'
disks:
- autoDelete: true
boot: true
deviceName: my-instance
index: 0
interface: SCSI
kind: compute#attachedDisk
licenses:
- https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1204-precise
mode: READ_WRITE
source: https://www.googleapis.com/compute/v1/projects/some-project-999/zones/us-central1-a/disks/my-instance
type: PERSISTENT
id: '111812933445597333'
kind: compute#instance
machineType: https://www.googleapis.com/compute/v1/projects/some-project-999/zones/us-central1-a/machineTypes/g1-small
metadata:
fingerprint: w3steEkuQUS=
kind: compute#metadata
name: my-instance
networkInterfaces:
- accessConfigs:
- kind: compute#accessConfig
name: External NAT
natIP: 112.134.99.170
type: ONE_TO_ONE_NAT
name: nic0
network: https://www.googleapis.com/compute/v1/projects/some-project-999/global/networks/default
networkIP: 10.356.252.66
scheduling:
automaticRestart: true
onHostMaintenance: MIGRATE
selfLink: https://www.googleapis.com/compute/v1/projects/some-project-999/zones/us-central1-a/instances/my-instance
serviceAccounts:
- email: 78111222333-compute@developer.gserviceaccount.com
scopes:
- https://www.googleapis.com/auth/devstorage.read_only
- https://www.googleapis.com/auth/logging.write
status: RUNNING
tags:
fingerprint: DLYFgkKTlB3=
items:
- http-server
zone: https://www.googleapis.com/compute/v1/projects/some-project-999/zones/us-central1-a
C:\Program Files\Google\Cloud SDK>
1 回答
从Windows使用Cloud SDK时,这是一个已知问题 .
请在[1]下载pageant.exe并使用它来加载ppk密钥或使用Putty(可从同一链接下载)到SSH实例,如[2]中所述 .
作为一种解决方法,您甚至可以将ssh.exe重命名为ssh-bak.exe,将ssh-term.exe重命名为C:\ Program Files \ Google \ Cloud SDK \ google-cloud-sdk \ bin \ sdk \中的ssh.exe
链接:
[1] - http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
[2] - https://cloud.google.com/compute/docs/console#sshkeys