开发者社区> 山月> 正文

服务器 ssh key 与 git 配置

简介: 程序员经常会说一句话: 面向 github 编程,github 对程序员的重要性可见一斑 虽然 git 可以工作在 ssh 与 https 两种协议上,但为了安全性,更多时候会选择 ssh。 如果采用 https,则每次 git push 都需要验证身份 所以此篇文章的主要内容是: ssh keygen: 生成非对称加密中的 public-key 与 private-key,并把 publik-key 扔到 github 上。
+关注继续查看

程序员经常会说一句话: 面向 github 编程,github 对程序员的重要性可见一斑

虽然 git 可以工作在 sshhttps 两种协议上,但为了安全性,更多时候会选择 ssh

如果采用 https,则每次 git push 都需要验证身份

所以此篇文章的主要内容是:

  1. ssh keygen: 生成非对称加密中的 public-key 与 private-key,并把 publik-key 扔到 github 上。与上篇文章 配置服务器免登陆 一样的步骤

你对流程熟悉后,只需要一分钟便可以操作完成

Permission denied (publickey).

如果没有设置 public key 直接 git clone 的话,会有权限问题

可以使用 ssh -T 测试连通性

$ git clone git@github.com:vim/vim.git
Cloning into 'vim'...
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

# 不过有一个更直接的命令去查看是否有权限
$ ssh -T git@github.com
Permission denied (publickey).

生成一个新的 ssh key

使用 ssh-keygen 可以生成配对的 id_rsaid_rsa.pub 文件

# 生成一个 ssh-key
# -t: 可选择 dsa | ecdsa | ed25519 | rsa | rsa1,代表加密方式
# -C: 注释,一般写自己的邮箱
$ ssh-keygen -t rsa -C "shanyue"

# 生成 id_rsa/id_rsa.pub: 配对的私钥与公钥
$ ls ~/.ssh
authorized_keys  config  id_rsa  id_rsa.pub  known_hosts

在 github 设置里新添一个 ssh key

在云服务器中复制 ~/.ssh/id_rsa.pub 中文件内容,并粘贴到 github 的配置

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3SSSSSSSSSSSSSSSSSSSSSBAQDcM4aOo9qlrHOnh0+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHuM9cYmdKq5ZMfO0dQ5PB53nqZQ1YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc1w7bC0PD02M706ZdQm5M9Q9VFzLY0TK1nz19fsh2I2yuKwHJJeRxsFAUJKgrtNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN7nm6B/9erp5n4FDKJFxdnFWuhqqUwMzRa9rUfhOX1qJ1SYAWUryQ90rpxOwXt9Pfq0Y13VsWk3QQ8nyaEJzytEXG7OR9pf9zDQph4r4rpJbXCwNjXn/ThL shanyue

在 github 的 ssh keys 设置中:https://github.com/settings/keys 点击 New SSH key 添加刚才的key。

更多图文指引可以参照官方文档:https://help.github.com/cn/articles/adding-a-new-ssh-key-to-your-github-account

设置成功

使用 ssh -T 测试成功, 此时可以成功的面向 github 编程了

$ ssh -T git@github.com
Hi shfshanyue! You've successfully authenticated, but GitHub does not provide shell access.

$ git clone git@github.com:shfshanyue/vim-config.git
Cloning into 'vim-config'...
remote: Enumerating objects: 183, done.
remote: Total 183 (delta 0), reused 0 (delta 0), pack-reused 183
Receiving objects: 100% (183/183), 411.13 KiB | 55.00 KiB/s, done.
Resolving deltas: 100% (100/100), done.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
别让你的服务器(vps)沦为肉鸡(ssh暴力破解),密钥验证、双向因子登录值得拥有
如果你购买了阿里云、腾讯云或者华为云等国内云服务上的服务器,默认登录都是以密码的方式,这就给潜在的渗透带来了机会,因为当你的linux服务器暴露在外网当中时,服务器就极有可能会遭到互联网上的扫描软件进行扫描,然后试图连接ssh端口进行暴力破解(穷举扫描),如果你不采取相对应的措施,迟早有一天服务器会被渗透者攻陷,这也就解释了为什么google cloud(谷歌云)和aws(亚马逊云)默认都是以秘钥的方式登录服务器。
89 0
Disconnected: No supported authentication methods available)FileZilla通过SSH连接Linux服务器( CentOS)
Disconnected: No supported authentication methods available)FileZilla通过SSH连接Linux服务器( CentOS)
97 0
ssh和scp连接window服务器
ssh和scp连接window服务器
48 0
ssh免密登录服务器和scp的使用
ssh免密登录服务器和scp的使用
72 0
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法(二)
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法
45 0
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法(一)
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法
74 0
阿里云国际版使用SSH上传文件及文件夹到Linux服务器的方法
本文www.123clouds.com介绍阿里云国际版使用SSH上传文件及文件夹到Linux服务器的方法。
86 0
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
本文介绍了Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录。
167 0
图文讲解MAC和windows如何SSH连接服务器!(下)
图文讲解MAC和windows如何SSH连接服务器!
96 0
图文讲解MAC和windows如何SSH连接服务器!(上)
图文讲解MAC和windows如何SSH连接服务器!
154 0
+关注
山月
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
网站/服务器取证 实践与挑战
立即下载
固守服务器的第一道防线——美联集团堡垒机的前世今生
立即下载
机器学习在大规模服务器治理复杂场景的实践
立即下载
相关实验场景
更多