内部系统有几台服务器,经常登陆,但是每次使用SSH登陆过于麻烦,我们通过设置可以免去输入用户名和密码。
通过如下几步可以完成:
1.生成密钥
生成2个文件,位于~/.ssh/下,分别是公共密钥id_rsa.pub,和私有密钥id_rsa。
2.发送自己的公共密钥给服务器端
以上命令是给远程服务器发送自己的公共密钥,服务器端会要求输入密码。服务端拿到这个密钥后会在.ssh/下保存,文件名为authorized_keys;在mac平台下没有该命令,可以通过scp命令将公共密钥文件copy至服务端改名即可。
【注】解释访问过程:
在登陆服务端,无需输入密码,登陆过程如下:
- 客户端先将自己的公共密钥发送给服务器端存储起来
- 客户端发起登录请求,服务器端接受到后,发送一段随机的字符串给客户端
- 客户端接受该随机字符串后使用自己的私有密钥进行加密,然后发送给服务端
- 服务端接收后,使用存储的客户端公共密钥进行解密,解密成功,客户端即可登录,就无须输入密码
3.在本地配置config文件,位于~/ssh/config,在该文件加入如下几行配置:
那么我们登陆时,输入如下命令,无须用户名和密码,从此世界干净了许多