Git 已经成为咱们开发最流行的版本控制工具了,Git 支持多种传输协议,其中最经常使用的就是https 和 ssh,日常咱们用 https 比较多,这种方式 pull 和 push 代码都要输入帐户密码,很是不方便。那么有没有更加方便并且安全的方式呢?固然有!ssh 方式能够作到这一点。git
公有 Git 服务诸如 GitHub、Gitee、Coding、Gitlab 等都提供了 ssh 功能。经过 Gitlab 、Gogs、Gitea 搭建的私有 Git 服务也都有 ssh 功能。通常咱们均可以在对应的设置 中找到。以 Gitee 为例:web
那么如何生成 ssh 公钥呢?算法
ssh 生成公钥的算法有不少种,咱们一般使用 RSA 算法来生成密钥对。确保你在不一样操做系统的用户目录 ~/.ssh
下没有 id_rsa
和 id_rsa.pub
,若是有就说明你已经生成了无需再生成。针对 Linux\Mac 和Windows 和咱们来走一下流程。安全
命令行执行:服务器
ssh-keygen -t rsa -b 4096 -C "替换为经常使用email地址"
复制代码
后面让你输入密码你能够输入一个,或者一路 enter 按到底直接生成。生成完毕后执行如下命令查看公钥:ssh
cat ~/.ssh/id_rsa.pub
复制代码
切记必定要带 .pub 后缀,不然则为私钥。而后出现以 ssh-rsa
开头的字符串就是公钥:编辑器
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDBYgnpCY9j/xhhZO4ryy7YrJRRUXydbVUyi8dSfyn5obFD0iJhqPCF1jk5LZuryhsmy
…………………(此处省略)
mH1eqd4SMXO8fJoaM7JOWYSs/xgRK9bw== dax@felord.cn
复制代码
若是你本地安装有 Git Bash 方法能够按照上面去模仿便可。 Bash 能够去你 Git 安装目录找,它也是一种 Shell 操做界面。而后能够按照 3.1 的方法生成。Window10 某个更新之后开始内置了 ssh 服务。以管理员身份打开命令行输入 ssh
若是出现了提示命令说明你已经开启了 ssh 服务。若是没有则须要你手动开启。在 应用和功能 选项中搜索 openssh 选择客户端或者服务器均可以:工具
安装后须要重启,重启后打开命令行,输入 ssh
进行检查便可。而后就能够按照 3.1 的方式生成公钥了。spa
附 Win 下开启/关闭 ssh 命令:操作系统
net start sshd
net stop sshd
复制代码
咱们生成了密钥对以后将 id_rsa.pub
的全部内容复制并填写到 公钥 一栏中配置好咱们生成的公钥,Git 服务端就承认咱们当前的主机了。咱们就能以 git@ hostname:user/project.git
的形式进行无密码访问远程 Git 仓库了。