在一台 Ubuntu 机器上我做了以下操作:
~$ sudo su -
[sudo] password for jamie:
root@mydomain:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
12:34:56:78:9a:bc:de:f0:12:34:56:78:9a:bc:de:f0 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+-----------------+
root@mydomain:~# cat /root/.ssh/id_rsa.pub | ssh -p 443 [email protected] 'cat > ~/.ssh/authorized_keys'
[email protected]'s password:
root@mydomain:~# ssh [email protected]
[email protected]'s password:
它要求我输入密码。
但是,使用常规帐户可以进行以下操作:
$ cd ; ssh-keygen -t rsa ; cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> ~/.ssh/authorized_keys'
$ ssh [email protected]
Last login: Thu Oct 24 14:48:41 2013 from 173.45.232.105
[[email protected] ~]$
这使我相信这不是authorized_keys
对抗authorized_keys2
或权限的问题。
为什么'root'账户无法访问远程'jamie'账户?
如果相关的话,远程机器是 CentOS。
答案1
答案在这里:https://askubuntu.com/a/90465/14447
可能应该将这个问题标记为相同的重复。
答案2
尝试以详细模式运行 ssh。我发现这通常会提供有关正在发生的事情的线索。
检查目标机器上 .ssh 目录的安全性。如果任何目录是所有人或群组可写的,这可能会导致 ssh 拒绝访问您的授权密钥文件。我相信 .ssh 目录肯定是群组或所有人无法访问的。
尝试在远程创建一个密钥文件,并将公钥添加到 authorized_keys 文件中。ssh localhost
先开始工作,然后尝试远程访问。
您可以.ssh/config
在 root 上配置文件来为您添加用户。类似下面的操作应该有效:
主机远程 主机名 remote.server.box 用户=jamie