ssh免密码登录,公钥登录

基本知识

Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。

平时我们会通过ssh远程登录我们的主机来进行管理,在Mac下面一般我会通过自带的Terminal或者iterm2直接登录,而在Windows下面的话通常会使用Putty进行登录。

登录流程

基本登录
ssh user@host (用户名+主机地址)

如果本机用户名跟远程的主机用户名一致,可以省略掉用户
ssh host

ssh默认端口是22,如果端口不是默认值则需要指定端口登录
ssh user@host -p 1111 指定端口1111,使用用户user登录到主机

在输入完上面的指令以后接下来就是输入密码了,此处就不再累述了

公钥登录

在上面的流程中,我们每次都需要重新输入密码才能够进行登录,那么可不可以免密码直接登录了,答案当然是可以的了。

通过公钥登录可以实现免密码登录,首先在客户端生成一对公钥私钥,然后将公钥添加到远程主机的~/.ssh/authorized_keys目录下。每次登录的时候远程主机都回发送一段随机的字符串给客户端,客户端使用私钥进行加密,随后返回远程主机。远程主机使用公钥进行解密,如果解密成功则登录成功,免去了输入密码的流程。

具体流程如下:

1. 在客户端生成一对公钥私钥
    ssh-keygen
这个时候在目录~/.ssh/下面就会生成id_rsa.pub(公钥),id_rsa(私钥)
2. 将公钥拷贝到远程主机
    ssh-copy-id user@host

经过上述流程我们就实现了ssh免密码登录的流程了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SSH是安全的远程登录,使用SSH v2的协议版本,基于DH算法做密钥交换,基于RSA或DSA实现身份认证。SSH...
    Yi_Feng阅读 1,165评论 0 1
  • 1、远程连接服务器 远程连接服务器对于管理员来说,是一个很有用的操作。它使得对服务器的管理更为方便。不过方便归方便...
    Zhang21阅读 39,593评论 0 20
  • 概述 SSH是(Secure SHell protocol) 的简写,安全外壳协议(SSH)是一种在不安全网络上提...
    技术学习阅读 53,787评论 9 41
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 回家了 开心 和爸爸聊天 逛街 给他买了痛风药 开心 中午吃了火锅 明天吃白切鸡
    rrreason阅读 150评论 0 0