美文网首页
SSH Key的使用

SSH Key的使用

作者: Summerdise | 来源:发表于2024-01-10 16:01 被阅读0次

SSH 是什么

Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。通过加密保证了数据的保密性和完整性。SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。

传统的FTP、Telnet是再网络中明文传送数据、用户帐号和密码,很容易受到中间人攻击。

SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。

SSH Key是什么?

SSH Key(Secure Shell key)是一种加密技术,用于在计算机网络上进行安全的远程登录和数据传输。它是SSH协议的一部分,用于验证用户的身份并加密数据传输。

简单来说,SSH key就是一对加密密钥,包括公钥和私钥。公钥用于加密数据,私钥则用于解密数据。当您需要通过SSH协议连接到远程服务器时,您可以使用SSH key来验证您的身份。使用SSH key可以使远程连接更加安全,因为只有拥有私钥的人才能连接到服务器,而不是像密码那样通过共享密码进行身份验证。

在使用SSH key时,您需要在客户端和服务器之间进行密钥交换,以确保双方都知道对方的公钥和私钥。一旦密钥交换完成,您就可以使用SSH key连接到服务器,并且不需要输入密码。这样就可以避免使用弱密码或者密码被黑客破解的风险。

怎么用?

使用SSH key的步骤:

  • 在客户端生成SSH key(密钥对:公钥和私钥)
  • 在服务端的配置文件中加入你的公钥。(比如我们需要再GitHub中粘贴你的公钥)

生成SSH Key:

ssh-keygen -t rsa -C "your_secondemail@email.com"

生成过程中可以全部默认,回车跳过。

查看方法:

command+shift+g 进入~/.ssh文件夹。

id_rsa文件是私钥,id_rsa.pub是公钥。
将公钥内容提供给有权限的github账户,加入允许名单,本地通过私钥可通过权限校验。

使用非默认的SSH key

  1. 为不同服务器的同一用户配置不同SSH key

对于OpenSSH客户端(Linux默认安装),需要在 ~/.ssh/config 文件中进行配置(如果没有该文件则自行创建一个)。

# GitLab.com server
Host gitlab.com
# 如果提示: Unsupported option "rsaauthentication",则可以选择注释掉该行
RSAAuthentication yes
IdentityFile ~/.ssh/private-key-filename-01

# Private GitLab server
Host gitlab.company.com
RSAAuthentication yes
IdentityFile ~/.ssh/private-key-filename

# GitHub使用非默认密钥对:
Host github.com
RSAAuthentication yes
# 也可以使用公钥
IdentityFile ~/.ssh/FDGitHub_rsa.pub

  1. 配置多个账户

为同一服务器配置不同账户,比如说你在coding上有两个账户,那么可以这样在config文件中配置:

# coding
Host git.coding.net
User your_email@example.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa  //默认的私钥

# second
Host git.coding.net
User youre_secondemail@example.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/second_rsa  // 生成的第二个私钥

学习链接:SSH key 介绍 - 简书

相关文章

网友评论

      本文标题:SSH Key的使用

      本文链接:https://www.haomeiwen.com/subject/lrszndtx.html