在OS X上将passphraseless ssh设置为localhost

时间:2011-08-20 20:36:06

标签: macos ssh osx-lion passphrase

我正在尝试使用Hadoop的伪分布式操作示例(http://hadoop.apache.org/common/docs/stable/single_node_setup.html)来处理OS X Lion,但是在获取ssh时遇到问题没有密码就能工作。

说明如下:

  

设置passphraseless ssh

     

现在检查您是否可以在没有密码的情况下ssh到localhost:$   ssh localhost

我拒绝连接:

archos:hadoop-0.20.203.0 travis$ ssh localhost
ssh: connect to host localhost port 22: Connection refused
  

如果你不能在没有密码短语的情况下ssh到localhost,请执行   以下命令:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa   
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

在此步骤之后,我仍然拒绝连接。任何想法???

5 个答案:

答案 0 :(得分:42)

听起来你没有启用SSH。应该在网络设置控制面板的某个地方。

答案 1 :(得分:2)

您转到"系统偏好设置>分享>远程访问"并且有一个授权用户列表。将其更改为"所有用户"。

这解决了这个问题。

答案 2 :(得分:0)

检查.ssh目录的权限。一些ssh实现要求目录为chmod 700.否则,它们只是忽略它。

另外,检查

的输出
ssh -v localhost

了解ssh客户端如何尝试连接。输出非常详细,可以帮助您确定它是否是身份验证问题。

答案 3 :(得分:0)

我有同样的问题。 请检查ssh服务器是否正在运行。

如果是,请打开/etc/init.d/ssh_config/etc/init.d/sshd_config个文件。问题是服务器在不同的端口上运行,而客户端指向不同的端口。

在此之前,请确保已安装openssh-server和客户端。

答案 4 :(得分:0)

我遇到了同样的问题,我用以下方式解决了这个问题:

  1. SSH已激活。

  2. ssh -v localhost(由Herko声明) 在输出中,我确定不支持DSA的身份验证方法。

  3. debug1:跳过ssh-dss键/Users/john/.ssh/id_dsa - 不在PubkeyAcceptedKeyTypes

    1. 我只需重新生成ECDSA密钥并删除DSA密钥对。

    2. 生成密钥后,Hadoop文档中提供的过程成立。

    3. 因此,检查Openssh配置是否支持身份验证方法非常重要。