我开始使用Google Compute Engine(Google的云端服务)上的一个方框,其中包含一个名为xyz的帐户和一个短暂的IP地址。
让我们假装短暂的IP地址是2.3.4.5。
在我开始下面的过程之前,我能够使用密码登录xyz@2.3.4.5。
然后我附上了一个静态IP地址。让我们假装静态IP地址是1.2.3.4。
然后我打字
my@localbox:~$ ssh-copy-id xyz@1.2.3.4
命令似乎挂了,所以我杀死了终端。
然后我做了一个简单的
my@localbox:~$ ssh xyz@1.2.3.4
哪个成功而没有提示我输入密码。
我以为我的密钥已经进入了我的authorized_keys,所以我做到了
xyz@cloudbox:~$ ls -al
令我惊讶的是,.ssh只包含一个known_hosts文件,而不是authorized_keys文件。
另外,命令
my@localbox:~$ ssh-copy-id xyz@1.2.3.4
当我尝试它时仍然挂起,所以它不仅仅是一个随意的侥幸。
如果没有.ssh / authorized_keys文件,如何在没有密码的情况下登录此帐户?它与ssh-copy-id挂起的原因有关吗?
你可以粘贴服务器sshd.conf吗?
—
Gotschi 2014年
@Gotschi这几乎是100行...是否有相关的具体值?
—
托马斯约翰逊
检查我的ssh,authorized_keys文件应该在
—
barlop 2014年
.ssh
子目录中所以因为你登录到1.2.3.4/cloudbox,看看~/.ssh/authorized_keys
那里,甚至authorized_keys2我也听说过那个。但请查看.ssh
子目录列表文件
我不知道ssh-copy-id挂了..这里我不确定但是我想知道它是否使用密码而且不起作用..或者如果它有一个详细的模式,比如-v或-vvv或者如果您尝试不设法获取公钥并将其转到密码,那么您可以检查它是否设法通过密码登录..也许您可以尝试重新启动配置它,所以首先获取密码工作然后密钥。
—
barlop 2014年
哦,实际上我在发布这个问题后想了一会儿。这是一个在后台运行的SSH控制主会话。SSH-copy-id命令与控制主挂是一个已知的bug
—
托马斯·约翰逊