ssh免密码快速登录配置

使用ssh登录服务器的时候,需要输入ip地址、端口、用户名、密码等信息,比较麻烦,容易输错。还好,通过客户端和服务器的配置参数,可实现免密码快速登录。服务器可通过保存客户端的公钥,用于验证客户端的身份,从而省去输入密码的步骤。客户端也可通过配置服务器参数来简化登录命令。
本文主要是记录了ssh面密码快速登录的配置过程,主要分为以下几个步骤。

  1. 客户端生成密钥,包括私钥和公钥。
  2. 在服务器中配置客户端的公钥。
  3. 在客户端配置服务器登录相关参数。

本文示例中的服务器ip地址为192.168.1.1,ssh端口为22。

客户端生成密钥

客户端生成密钥的方法很简单,只需要使用ssh-keygen命令。

ssh-keygen -t rsa

生成密钥过程中,建议采用默认值,只需要按三次回车之后,就会再~/.ssh目录下生成密钥文件,其中,id_rsa为私钥,id_rsa.pub为公钥。 

服务器配置

服务器的~/.ssh/authorized_keys文件保存可快速连接的客户端的公钥。只需把客户端生成的id_rsa.pub文件的内容拷贝到authorized_keys文件的末尾。拷贝的方法有:

  1. 直接拷贝。由于id_rsa.pub和authorized_keys都是文本文件,可通过拷贝命令直接拷贝。
  2. 把id_rsa.pub上传到服务器,然后再把内容添加到authorized_keys文件中。
    在客户端把文件上传到服务器的用户目录的操作命令如下:
scp ~/.ssh/id_rsa.pub root@192.168.1.1:

在服务器操作的命令如下:

cat id_rsa.pub >> ~/.ssh/authorized_keys


配置好之后,登录服务器就不再需要密码了。 

在客户端配置服务器登录相关参数

除了密码之外,登录时,还需要配置ip地址、端口、用户等信息,也比较繁琐。可通过客户端的~/.ssh/config配置服务器的相关参数简化登录命令。
config文件的配置内容如下:

Host server
Hostname 192.168.1.1
Port 22
User bingoli


其中,Host为服务器的名称,输入登录命令时使用,后续登录只需要记住这个名字就可以;Hostname为服务器的ip地址;Port为ssh的端口;User为服务器的用户名。配置好相关参数之后,就可以使用简化的命令登录服务器了。

ssh server

从此以后,登录服务器就简单多了。

关于作者

欢迎关注作者微信公众号:程序员bingo

原文地址:https://www.cnblogs.com/bingoli/p/10567734.html

posted @ 2019-03-20 21:13  bingoli  阅读(13428)  评论(0编辑  收藏