我正在尝试在没有 key 的情况下启用从一个 EC2 实例到另一个实例的 SSH。我做了以下
1)在主实例中生成一个 key ,如
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa_master_to_slave
2)将该 key 添加到同一主实例的授权 key 列表中
$ cat ~/.ssh/id_dsa_master_to_slave.pub >> ~/.ssh/authorized_keys
3) SCPed 公钥文件到从属实例。
$ scp -i aws_key.pem /home/ubuntu/.ssh/id_dsa_master_to_slave.pub ubuntu@slave:~/
4) 将 SCP-ed 文件也添加到从属实例的授权 key 列表中。
$ cat id_dsa_master_to_slave.pub >> ~/.ssh/authorized_keys
仍然当我尝试 SSH 时,我得到一个
Permission Denied (Public Key)
我错过了什么吗?
最佳答案
将您的私钥存储在某处(在您的主目录中)。
将以下内容放在您的 .bashrc
中的任何位置文件:
eval `ssh-agent`
ssh-add ~/private_key.pem
之后,执行一次:
source ~/.bashrc
每次登录时,
eval
和 ssh-add
将执行,您将准备好在没有密码的情况下进入 ec-2 服务器。是的,那些不是单引号,那些是反引号。
关于hadoop - 无需提供 key 即可在 EC2 实例之间进行 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25018728/