ssh配置
主机A:10.0.5.199
主机B:10.0.5.198
需要配置主机A无密码登录主机A,主机B
先确保所有主机的防火墙处于关闭状态。
配置为可以免密码登录本机:
首先查看在“当前用户”文件夹下是否存在.ssh
下面的配置我是在root超级用户下进行的:
[root@centos1 ~]# ls –a
发现.ssh文件夹已经存在。
接下来输入命令(注意下面命令中不是双引号,是两个单引号):
方法一:用root用户登录,在root目录下执行如下命令:ssh-keygen -t rsa
[root@mycentos ~]# ssh-keygen-t
Generating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
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:
c6:7e:57:59:0a:2d:85:49:23:cc:c4:58:ff:db:5b:38root@master
通过以上命令将在/root/.ssh/目录下生成id_rsa私钥和id_rsa.pub公钥。进入/root/.ssh目录在namenode节点下做如下配置:
$cp id_rsa.pub authorized_keys
这步完成后,正常情况下就可以无密码登录本机了,即ssh localhost,无需输入密码。
4. $scp authorized_keys rootr@10.0.5.198:.ssh/ ------把刚刚产生的authorized_keys文件拷一份到主机B上.(可能需要在198机器上ssh登陆 ssh 10.0.5.198)
scp 不同的Linux之间copy文件常用方法
5. $chmod 600 authorized_keys
进入主机B的.ssh目录,改变authorized_keys文件的许可权限。
(4和5可以合成一步,执行: $ssh-copy-id -i root@10.0.5.198 )
可能遇到的问题:
1.进行ssh登录时,出现:”Agent admitted failure to sign using the key“ .
执行: $ssh-add
强行将私钥 加进来。
2.如果无任何错误提示,可以输密码登录,但就是不能无密码登录,在被连接的主机上(如A向B发起ssh连接,则在B上)执行以下几步:
$chmod o-w ~/
$chmod 700 ~/.ssh
$chmod 600 ~/.ssh/authorized_keys
3.如果执行了第2步,还是不能无密码登录,再试试下面几个
$ps -Af | grep agent
检查ssh代理是否开启,如果有开启的话,kill掉该代理,然后执行下面,重新打开一个ssh代理,如果没有开启,直接执行下面:
$ssh-agent
还是不行的话,执行下面,重启一下ssh服务
$sudo service sshd restart
4. 执行ssh-add时提示“Could not open a connection to your authenticationh agent”而失败
执行: ssh-agent bash