Linux下ssh免密码登录配置(20160309)

1.前言

         本文以Ubuntu14系统为示例,在安装好相应的ssh server和client之后,默认支持ssh免密码登录;假如现在有两台机器A和B,A想登录B的时候免密码ssh登录;

2.建立公钥和密钥

   一般采用rsa的方式,在A机器上执行;   
   
   
   
   
/usr/bin/ssh-keygen -t rsa
    之后根据提示自行操作,界面如下;
   
   
   
   
   
hadoop@hadoop181 :~ $ / usr / bin / ssh - keygen - t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
/home/hadoop/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
9c:19:65:7d:0c:77:1f:75:0c:c0:b5:eb:a0:bc:a2:0f hadoop@hadoop181
The key's randomart image is:
+--[ RSA 2048]----+
| ooo=++=|
| o o.oo=|
| . .. .|
| . + . |
| S . . |
| . . o |
| E o . |
| .. . |
| .o... |
+-----------------+

3.修改ssh相关文件夹权限

    在A机器上,如果没有相关的文件夹和文件,请自己手动建立之后再修改;~/表示当前用户目录;
     .用户的home目录、.ssh目录、authorized_keys的权限分别应该是700,700和644,错一个都不行
    修改权限的命令如下;
   
   
   
   
chmod 644 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chmod 700 ~/.ssh
chmod 700 ~/

4.拷贝公钥

    实际上就是将公钥追加到你需要免密码ssh登录的机器的~/.ssh/athorized_keys文件中,在A机器上执行;
    
    
    
    
ssh-copy-id hadoop@B
这里的hadoop是你登陆的用户名,第二个B是你的主机地址,比如192.168.1.2;
之后输入密码,完成追加;

5.验证

   
   
   
   
ssh hadoop@B
在A机器上执行后,如果没有提示输入密码,那么免密码登录配置成功.

注意:可以先尝试将公钥拷贝到本机上,然后登陆本机;如果成功后再尝试别的机器;
         如果登陆不成功,可以尝试更改被登陆主机的ssh相关文件(夹)权限
    

你可能感兴趣的:(linux,ssh,免密码)