我在Google Compute Engine中通过Bitnami创build了一个虚拟机。 以前,我可以通过Bitnaminetworking界面ssh。 我试图通过terminal在我的Mac上ssh,但不断获得Permission denied (publickey)错误。 然后,我删除了服务器和我的Mac上的所有密钥,并下载pem文件formsbitnami和使用-i选项来连接,但问题仍然存在。
ssh -i bitnami-gce.pem [email protected] -v
完整的debugging信息:
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 * debug1: Connecting to 1xx.1xx.5x.1xx [1xx.1xx.5x.1xx] port 22. debug1: Connection established. debug1: identity file bitnami-gce.pem type -1 debug1: identity file bitnami-gce.pem-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.2 debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Debian-4~bpo70+1 debug1: match: OpenSSH_6.6.1p1 Debian-4~bpo70+1 pat OpenSSH* debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr [email protected] none debug1: kex: client->server aes128-ctr [email protected] none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Server host key: RSA <RSA KEY> debug1: Host '1xx.1xx.5x.1xx' is known and matches the RSA host key. debug1: Found key in /Users/xxx/.ssh/known_hosts:1 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: bitnami-gce.pem debug1: read PEM private key done: type RSA debug1: Authentications that can continue: publickey debug1: No more authentication methods to try. Permission denied (publickey).
我无法SSH主机。 所以现在不能发送任何密钥到服务器。 如何解决这个问题?
编辑:我试图通过谷歌Web控制台SSH,我可以做到这一点。 任何人都可以告诉我的确切步骤ssh从任何地方? 我更喜欢简单的用户名和密码的方式,如何configuration它呢?
在我通过Google Web控制台ssh之后,我按照以下步骤解决了这个问题:
使用生成ssh密钥
ssh-keygen
复制key.pub文件内容
将内容追加到~/.ssh/authorized_keys文件
sudo nano ~/.ssh/authorized_keys
当您的实例首次创build时,默认情况下将不会有任何SSH密钥,因此您必须在那里传输它们,例如,如本答复中所述,通过使用gcloud进行连接,或通过手动创buildSSH并按照另一个SO答案中所述手动将它们添加到您的实例。