SSH免密码登陆远程服务器配置

背景:搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录。

   在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的。telnet,因为其不安全性,在linux系统中被搁置使用了。

    " 公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。


  1. 生成秘钥

    安装:openssh rsync

    生成秘钥对:ssh-keygen -t rsa -P '' 

    文件:id_rsa  id_rsa.pub   默认存储路径  /home/abcd/.ssh

    把id_rsa.pub追加到授权的key里面:cat id_rsa.pub >> authorized_keys

    修改授权key的权限:chmod 600 authorized_keys

    修改ssh配置文件:vim /etc/ssh/sshd_config

    去掉注释:RSAAuthentication yes

         PubkeyAuthentication yes

         AuthorizedKeysFile     .ssh/authorized_keys

  重启服务 : service sshd restart 

  测试:    ssh localhost

2. 将公钥发送到服务器

   

   scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/  -->将公钥复制到远程服务器的~/目录

   scp ~/.ssh/id_rsa.pub [email protected]:~/

3. 将公钥追加到授权key中去

  cat ~/id_rsa.pub >> ~/.ssh/authorized_keys  -->追加公钥到授权key中

  保险起见,删除公钥

4. 回到客户机测试: ssh 192.168.1.134

你可能感兴趣的:(linux,服务器,安全性,客户端,密码)