为了更好理解,使用Hadoop,首先需要学会配置ssh,看了几篇牛人的教程,学舌将就下来了,但还是感觉有些地方要总结一下,还是值得写点东西的。首先总结一下ubuntu linux上的配置,然后是windows cygwin 上的。
Ubuntu Linux
在ubuntu 上安装 ssh只要输入 apt-cache search ssh,然后找到需要安装的包,或者直接输入 apt-get install ssh。
下面需要用 ssh 包含的工具 ssh-keygen 生成一个公私钥对: ssh-keygen –t dsa 或者 ssh-keygen –t rsa ,前者生成的是RSA公私钥,后者是DSA公私钥。如果不指定生成位置,那么默认安装的位置是当前用户根目录下的 .ssh 目录前面,同时可以指定查询私钥的密码,也就是 passphrase,这里为了实现无密码无输入登录显然把passphrase置空也就是直接回车就可以了。
这里看看 .ssh目录,这里有两个文件比较关键,一个是 authorized_keys ,这里是ssh服务器接受登录时默认使用的公钥集合,也就是登录该服务器的客户端提供的私钥必须和这个公钥集合的某个公钥匹配。所以如果你想让某个客户登录,那么就把它的公钥添加到这个文件的末尾,那么那个客户端就可以用对应的私钥访问这个服务器了。另一个关键的文件是 known_hosts,这似乎是一个历史记录,他会把访问者的一些信息记录下来,如果有些奇怪的问题出现可以尝试删除这个文件,重新登录。
最后要实现无密码登录的一个步骤是要对该ssh服务器的配置修改一下,也就是 /etc/ssh 目录下的 sshd_config 文件下的 PasswordAuthentication 设置 为 no