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,进行反向的相同的操作即可。