本地生成ssh公钥免密登录Linux

作者 拓荒 日期 2019-05-21

ssh是为远程登录提供的一个安全性的协议。使用它可以防止远程管理过程中的信息泄露问题。目前ssh普遍使用的有两种方式:

  1. 基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机。
  2. 基于密钥的安全验证:需要在本地生成”密钥对”后将公钥传送至服务端,进行公共密钥的比较。

使用密码验证终归会存在着被骇客暴力破解或嗅探监听的危险,使用ssh服务基于密钥进行安全验证(可无需密码验证),相对来说更安全也更方便,同时最近微软的Visual Studio Code推出了VSCode Remote插件,可以用本地的电脑连接远程服务器,使用远程服务器的开发环境进行开发和调试,但是如果没有使用密钥登录服务器的话,很多操作步骤都需要输入服务器密码,所以使用密钥登录服务器即安全也方便,步骤如下:

  1. 安装git客户端,git基本是程序员的标配
  2. 在电脑的用户目录(我使用的是Windows)右键选择Git Bash Hear
  3. 输入ssh-keygen命令并执行,然后一路按“回车”即可
  4. 重新查看我们的用户目录,发现是否多了一个“.ssh”文件夹,且该文件夹下存在两个文件:
  • 公钥:id_rsa.pub
  • 私钥:id_rsa
  1. 运行命令 ssh-copy-id root@0.0.0.0(@后面是服务器的ip),将公钥上传至服务器,该过程最后需要输入用户root的登陆密码
  2. 运行Xshell,用户身份验证选择Public Key,用户密钥选择选择用户目录/.ssh/id_rsa文件,然后连接即可。