<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Git on Eason Yang&#39;s Blog</title>
    <link>https://easonyang.com/tags/git/</link>
    <description>Recent content in Git on Eason Yang&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Fri, 09 Sep 2016 09:11:46 +0000</lastBuildDate>
    <atom:link href="https://easonyang.com/tags/git/atom.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用rsync将letsencrypt生成的证书同步到远程服务器</title>
      <link>https://easonyang.com/2016/09/09/use-rsync-to-sync-letsencrypt-certifications-with-remote-server/</link>
      <pubDate>Fri, 09 Sep 2016 09:11:46 +0000</pubDate>
      <guid>https://easonyang.com/2016/09/09/use-rsync-to-sync-letsencrypt-certifications-with-remote-server/</guid>
      <description>&lt;p&gt;最近在给博客搞一个容灾服务器，由于使用 Hexo ，所以网站数据数据的同步只需要在 _config.yml 中添加容灾服务器的部署配置信息即可，但是由于本站使用了 letsencrypt 实现全站 HTTPS ，需要实现 letsencrypt 在主服务器上自动循环注册之后自动地同步到容灾服务器，以避免容灾服务器的证书在3个月后过期的问题。这里使用 Linux 下经典的 rsync 来实现。&lt;/p&gt;&#xA;&lt;h2 id=&#34;安装-rsync&#34;&gt;安装 rsync&lt;/h2&gt;&#xA;&lt;p&gt;rsync 不比 nginx 等程序，稳定可用即可，因此直接从包仓库安装：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yum install rsync &lt;span class=&#34;c1&#34;&gt;#CentOS、RHEL、Fedora&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-get install rsync &lt;span class=&#34;c1&#34;&gt;#Debian、Ubuntu&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;选择同步方式&#34;&gt;选择同步方式&lt;/h2&gt;&#xA;&lt;p&gt;rsync 支持两种同步方式，一种是使用自带的守护进程运行一个 rsync daemon 服务器，然后对方使用 socks5 来连接服务器传输文件，另一种是直接使用 SSH 进行认证和数据传输。&lt;/p&gt;&#xA;&lt;p&gt;前者的用户名密码都是以 &lt;code&gt;username:password&lt;/code&gt; 这样的形式明文存在 secrets 文件中的，传输过程默认也没有使用加密方式，很方便进行中间人攻击，同时还要运行一个守护程序吃服务器性能，所以不太适合本文要进行远程传输的需求。故本文选择使用 SSH 方式进行同步。&lt;/p&gt;</description>
    </item>
    <item>
      <title>为Git设置SSH公钥及私钥</title>
      <link>https://easonyang.com/2016/07/31/set-ssh-identity-file-for-git/</link>
      <pubDate>Sun, 31 Jul 2016 15:45:33 +0000</pubDate>
      <guid>https://easonyang.com/2016/07/31/set-ssh-identity-file-for-git/</guid>
      <description>&lt;p&gt;在使用 Git 进行代码管理时，如果我们不使用 SSH 公钥及密钥，那么我们就必须在每次执行 Git 命令后键入密码来验明正身，所以为 Git 配置 SSH 公钥及密钥是很有必要的。下文对 Windows 及 Linux 系统，自建 Git 及 Github 均适用。&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置公钥&#34;&gt;配置公钥&lt;/h2&gt;&#xA;&lt;p&gt;首先通过 &lt;code&gt;ssh-keygen -t rsa -b 4096 -C &amp;quot;name@example.com&amp;quot;&lt;/code&gt; 或者 XShell 的相应功能来生成一对密钥和公钥。随后我们得到了一个 id_rsa 和 id_rsa.pub （名称来源于你的定义，本文统一视作 id_rsa），其中 id_rsa 为私钥，id_rsa.pub 为公钥，我们需要把这个公钥的内容上传到服务器对应 Git 用户的  &lt;code&gt;.ssh/authorized_keys&lt;/code&gt; 目录中，并在 SSH 的配置文件中允许通过公钥登陆。对于 Github 来说则是上传到 Github 中的公钥设置页面中。如果遇到提示未在远程服务器注册的问题，请执行 &lt;code&gt;chmod 600 authorized_keys&lt;/code&gt; 。至此公钥配置完毕。&lt;/p&gt;</description>
    </item>
    <item>
      <title>在Windows上搭建Git服务器</title>
      <link>https://easonyang.com/2016/07/31/set-up-a-git-server-on-windows/</link>
      <pubDate>Sun, 31 Jul 2016 14:36:42 +0000</pubDate>
      <guid>https://easonyang.com/2016/07/31/set-up-a-git-server-on-windows/</guid>
      <description>&lt;p&gt;由于最近要在一个仅装有 Windows 的无外网环境下写一个小项目，无法连接我自己建在远程服务器上的 Git Server，所以在 Windows 下临时简单搭建一个 Git 服务器来做版本控制。&lt;/p&gt;&#xA;&lt;h2 id=&#34;给-windows-安装-ssh-服务器&#34;&gt;给 Windows 安装 SSH 服务器&lt;/h2&gt;&#xA;&lt;p&gt;由于 Windows 本身并没有 SSH 相关的组件，所以我们需要先进行 SSH 服务器的安装。与 Linux 下的 OpenSSH 不同，Windows 下并没有一个得到广泛认同的 SSH 软件，各种工具五花八门，本文使用Bitvise SSH Server ，该工具对非商业用途免费，虽然免费版限制一些功能的使用，但对我来说足够使用。但如果是超过10个人以上的或者商用的团队则应该购买商业授权或者使用其他同类软件。在官网下载后一路 Next 安装即可。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
