ssh配置免密码登录

日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录。

首先服务器两台:

A:43.224.34.*

B:104.238.161.*

配置的结果是B机器可以免密码登录到A服务器。

首先在B服务器上生成本机的公私密钥:

ssh-keygen -t rsa -P ''

过程为:

[root@XX .ssh]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
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:
d3:81:0f:f9:6f:3e:d5:aa:ba:28:5f:a8:27:ac:70:88 root@liujianjun
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|         o       |
|        + .      |
|         = .     |
|        S +    . |
| . .     o .  . .|
|E o ..  . . o. . |
|   o  +..o o. .  |
|    ...=o oooo   |
+-----------------+
[root@XX .ssh]# l
total 20
drwx------ 2 root root 4096 Oct 29 14:05 .
dr-xr-x--- 7 root root 4096 Oct 29 12:30 ..
-rw------- 1 root root    0 Oct 21 09:57 authorized_keys
-rw------- 1 root root 1675 Oct 29 14:05 id_rsa
-rw-r--r-- 1 root root  397 Oct 29 14:05 id_rsa.pub
-rw-r--r-- 1 root root  350 Oct 29 12:09 known_hosts

操作生成了两个文件,一个是id_rsa,一个是id_rsa.pub,为了传输文件的时候出现名称冲突,把id_rsa.pub名称修改为104.238.161.*-id_rsa.pub。

scp将104.238.161.*-id_rsa.pub文件拷贝到A服务器的.ssh目录下:

scp ./104.238.161.\*-id_rsa.pub root@43.224.34.*:/root/shh

在A服务器的/root/.ssh目录下多了一个文件,先看下/root/.ssh目录中的authorized_keys文件的内容,开始的时候是空的,然后将拷贝过来的文件内容导入到authorized_keys中:

[root@vultr .ssh]# cat authorized_keys 
[root@vultr .ssh]# cat ./104.238.161.\*-id_rsa.pub >> authorized_keys 
[root@vultr .ssh]# cat authorized_keys 
ssh-rsa *********QDLNuwwf7wUTg829nM2/KFqwW24WXA3OBBkX21cXlo*************pduE62NTHj5fbsgtljVlVk7y3iaIz79KDPgRQPpt779cTuB274mdWQx7g3b5c/tya/OqSTsHWU7PgMkck6RnYZGaFtxJEhZrXyq************z9JVUCToP9DOKgRQsEZFgbT5INMTh3j9o5L/LbGxILBp2vlEJfJQjR96sTumaww95dqKeEgOngpEA2tj74wlFNLQgT9RTzY0U0CWgW8DyISX2IroVqkA9IaTwvYCp9SJF4xDQbl6pzdlYkuCzpwvfc20elB6S0Z root@****
[root@vultr .ssh]# 

从执行结果可以看出,已经将B的密钥导入了A的authorized_keys文件中。导入完毕之后要修改一下authorized_key文件的访问权限:

chmod 700 ~/.ssh/
chmod
600 authorized_keys

这样配置完毕之后,在B机器就能不用密码登录到A机器了,在B机器上直接执行:ssh 43.224.34.*就能登录到A机器,如果想从A免密码登录到B,进行反向的相同的操作即可。

posted @ 2016-10-29 22:26  扫地猿  阅读(7439)  评论(1编辑  收藏  举报