共计 1317 个字符,预计需要花费 4 分钟才能阅读完成。
ssh 配置
主机 A:10.0.5.199
主机 B:10.0.5.198
需要配置主机 A 无密码登录主机 A,主机 B
先确保所有主机的防火墙处于关闭状态。
在主机 A 上执行如下:
1. $cd ~/.ssh
2. $ssh-keygen -t rsa —————— 然后一直按回车键,就会按照默认的选项将生成的私钥保存在.ssh/id_rsa 文件中, 生成的公钥保存在.ssh/id_rsa.pub 中。
3. $cp id_rsa.pub authorized_keys
这步完成后,正常情况下就可以无密码登录本机了,即 ssh localhost,无需输入密码。
4. $scp authorized_keys summer@10.0.5.198:/home/summer/.ssh —— 把刚刚产生的 authorized_keys 文件拷一份到主机 B 上.
5. $chmod 600 authorized_keys
进入主机 B 的.ssh(chmod 700 .ssh)目录,改变 authorized_keys 文件的许可权限。
(4 和 5 可以合成一步,执行: $ssh-copy-id -i summer@10.0.5.198)
正常情况下上面几步执行完成后,从主机 A 所在机器向主机 A、主机 B 所在机器发起 ssh 连接,只有在 第一次登录时需要输入密码 , 以后则不需要。
可能遇到的问题:
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
相关阅读:
Ubuntu 下配置 SSH 服务全过程及问题解决 http://www.linuxidc.com/Linux/2011-09/42775.htm
Ubuntu 12.04 下安装 Git,SSH 及出现的 Permission denied 解决办法 http://www.linuxidc.com/Linux/2013-06/85336.htm
Ubuntu 12.10 下 OpenSSH 的离线安装方法 http://www.linuxidc.com/Linux/2013-04/82814.htm
Ubuntu 下 SSH 安装或设置 http://www.linuxidc.com/Linux/2013-07/87368.htm