在搭建分布式计算平台时或者为了登录方便,常常有需求SSH免密码登录。基于centos 6.6分支,其主要有以下几步:
-
环境设置:修改sshd的配置文件
#vim /etc/ssh/sshd_config
找到以下内容,并去掉注释符“#”
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启sshd服务
#/sbin/service sshd restart -
本机生成公钥和私钥
本机切换成需要免密码登陆的账户,然后运行以下命令:
$ssh-keygen -t rsa
运行后默认会在该账号的home目录下生成~/.ssh/id_rsa: 私钥和~/.ssh/id_rsa.pub:公钥两个文件。 -
将公钥导入本机认证文件
$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys -
将公钥导入到目标(将远程登录到的服务器)服务器的特定账号(将以该账号登录远程服务器)的认证文件
$scp ~/.ssh/id_rsa.pub xxx@目标主机ip或主机名:/home/xxx/id_rsa.pub
然后以相应账号登录到远程服务器,再运行以下命令导入公钥到认证文件
$cat ~/id_rsa.pub >> ~/.ssh/authorized_keys //将所有服务器的id_rsa.pub相互导入服务器 - 修改远程服务器相应账号下的.ssh文件夹和authorized_keys文件的权限
$chmod 700 .ssh
$chmod 710 authorized_keys
转载于:https://blog.51cto.com/taoismli/2056275