SSH免密码登陆备忘

简化从Mac登录Linux主机的操作步骤,提高效率。所谓的“免登陆”其实是不存在的,只是说,从验证密码的登录方式,改为 公私钥对的登录验证方式。使用后者的方式,每次会由ssh客户端自动发送验证信息,所以就免去了人工输入密码,看起来好像“免登陆”一样。

关于这么做的原理,大家可以自己去Google,关键词是“非对称加密”,“RSA算法”,“基于ssh密钥对的自动登录”,等等,我就不多解释了。我直接说操作步骤吧:

  1. 生成密钥对

  2. 用密码登录远程主机,将公钥拷贝过去

---------------------------------------

1.执行命令 ssh-keygen -t rsa
执行结果如下:

charles@mac:~ > ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/charles/.ssh/id_rsa):

Created directory '/Users/charles/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /Users/charles/.ssh/id_rsa.

Your public key has been saved in /Users/charles/.ssh/id_rsa.pub.

The key fingerprint is:

c8:4b:85:87:90:7c:1a:67:b6:71:f5:51:0c:9d:a2:89 charles@TCMBP.local

The key's randomart image is:

+--[ RSA 2048]----+

| ... .. o=.. |

| +.*o. ...+ |

| Bo+o. o.. |

| ...+E o |

| + S |

| . . |

| . |

| |

| |

+-----------------+

注意:提示enter passphrase的时候,不要输入,因为你本来就想少打一次密码的,这里如果设置了用密码保护私钥,那登录的时候还是要输密码,就白做了。

做完这个步骤后,cd ~/.ssh,你就可以看到你刚才生成的密钥对,id_rsa是私钥,id_rsa.pub是公钥。下一步,就是把公钥拷贝到目标主机上。

cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqCxYknpzX6bLCr6nCmh........

2. 登陆到远程机上,将公钥的内容copy到下面的文件里面

vim ~/.ssh/authorized_keys

将上面的内容加入即可,当下一次登陆远程机的时候,就直接ssh root@remoteserver即可。

原文地址:https://www.cnblogs.com/highriver/p/2243047.html