From: Evan Phoenix Date: 2012-09-30T02:33:19+09:00 Subject: [ruby-core:47743] Re: [ruby-trunk - Bug #7085] Subversion → GitHub gateway stops. --506730da_13d4a2f2_fa Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello shyouhei, =20 I would be happy to have RubyCentral run the gateway but I'd like to run = it in colocation. I can guarantee security of the keys by using passphras= es and ssh-agent. The machine in question will only run the gateway, noth= ing else, and be secured with separate ssh keys to secure access to it. Would that be ok=3F =20 -- =20 Evan Phoenix // evan=40phx.io On Saturday, September 29, 2012 at 8:40 AM, shyouhei (Shyouhei Urabe) wro= te: > =20 > Issue =237085 has been updated by shyouhei (Shyouhei Urabe). > =20 > =20 > Memo: how to reboot the svn->git gateway > =20 > Prerequisite > =20 > 1. You need be a ruby core committer; you'll have to access the ruby's > canonical svn repo. > =20 > 2. You need have a valid github account. Let me (shyouhei) know your > github id, so that I can let you push things to github/ruby/ruby. > =20 > 3. You need register non-passphrased SSH public keys to both the ruby > repo and github. Securely manage the private counterpart of them. > =20 > 4. You need have a reliable place as I wrote before. > =20 > 5. You need a working server: inside that reliable place, with git(1), > svn(1), as well as git-svn(1) properly set up. > =20 > Installation > =20 > 1. Download following URL. This is the verbatim copy of the gateway > script and its working directory, created right at the moment I > shut my old gateway down. > =20 > ftp://ftp.ruby-lang.org/pub/incoming/ruby-gateway.tar.xz.gpg > =20 > 2. The file mentioned above is a GPG signed LZMA compressed TAR > file. *NEVER* *=46ORGET* to make sure the thing you downloaded is > properly signed by me. > =20 > 3. Inside the tarball is a tiny script named github.sh (http://github.s= h). This is the > gateway itself. Just invoke this script with no args and it will > do everything needed -- works for me at least. You might have to > modify the script to fit your directory placement though. > =20 > 4. Once you are sure the script works well, setup a cron job to =20 > periodically run the script. > =20 > * * * * * sh github.sh (http://github.sh) > =20 > That's all. May the source be with you. > ---------------------------------------- > Bug =237085: Subversion =E2=86=92 GitHub gateway stops. > https://bugs.ruby-lang.org/issues/7085=23change-29787 > =20 > Author: shyouhei (Shyouhei Urabe) > Status: Open > Priority: Immediate > Assignee: =20 > Category: Project > Target version: =20 > ruby -v: not version dependent > =20 > =20 > Abstract: Sorry for your inconvenience. Due to my resigning job > at netlab.jp (http://netlab.jp), the Subversion to GitHub gateway stops= now. The > gateway was located there, maintained by me. > =20 > Biggest problem to reboot the gateway is its ssh private keys. it > first ssh into the canonical svn server to pull the repo, then ssh > into github to push it. Both ssh sessions need private keys and > as the gateway runs totally automatic using cron, those keys are > not passphrased. > =20 > Ruby's canonical repo has once been cracked. GitHub also had > vulnerability before. Leaking these keys is a serious threat > against our project. A malicious codes can be injected by using > (either of) them. > =20 > So sorry, I don't want to put these keys on any VPS, IaaS, or > colocations or anything like that. Doing so is in fact easy, and > makes the gateway working again, but will introduce a huge > security threat. > =20 > In order to properly fix this sitution, a RELIABLE place is > mandatory, where no access is possible from the internet, yet the > gateway itself can connect to ruby-lang.org (http://ruby-lang.org) and = github.com (http://github.com). > Normal company intranets behind NATs should suffice, like > netlab.jp (http://netlab.jp) was, Though I doubt a =22normal=22 company= intranet will not > welcome a black box like the gateway. > =20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D > =20 > Github=E3=82=B2=E3=83=BC=E3=83=88=E3=82=A6=E3=82=A8=E3=82=A4=E3=81=AF=E5= =8D=9C=E9=83=A8=E9=9B=A2=E8=81=B7=E3=81=AB=E4=BC=B4=E3=81=84=E5=81=9C=E6=AD= =A2=E3=81=97=E3=81=A6=E3=81=8A=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82=E7=8F=BE= =E5=9C=A8=E3=81=AE=E3=81=A8=E3=81=93=E3=82=8D=E5=BE=A9 > =E6=97=A7=E3=81=AE=E8=A6=8B=E8=BE=BC=E3=81=BF=E3=81=AF=E3=81=94=E3=81=96= =E3=81=84=E3=81=BE=E3=81=9B=E3=82=93=E3=80=82=E3=81=93=E3=81=AE=E3=82=88=E3= =81=86=E3=81=AA=E3=82=A2=E3=83=8A=E3=82=A6=E3=83=B3=E3=82=B9=E3=81=8C=E4=BA= =8B=E5=BE=8C=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=97=E3=81=BE=E3=81=84= > =E3=81=BE=E3=81=97=E3=81=9F=E3=81=93=E3=81=A8=E3=82=92=E6=B7=B1=E3=81=8F= =E3=81=8A=E8=A9=AB=E3=81=B3=E7=94=B3=E3=81=97=E4=B8=8A=E3=81=92=E3=81=BE=E3= =81=99=E3=80=82=E6=A0=B9=E5=9B=9E=E3=81=97=E3=81=8C=E8=B6=B3=E3=82=8A=E3=81= =A6=E3=81=AA=E3=81=8F=E3=81=A6=E3=81=94=E3=82=81=E3=82=93=E3=81=AA=E3=81=95= > =E3=81=84=E3=80=82 > =20 > =E3=81=9D=E3=82=82=E3=81=9D=E3=82=82github=E3=81=B8=E3=81=AE=E3=82=B2=E3= =83=BC=E3=83=88=E3=82=A6=E3=82=A8=E3=82=A4=E3=81=AF=E4=BD=95=E3=82=89=E3=81= =8B=E3=81=AE=E3=83=97=E3=83=AD=E3=82=B8=E3=82=A7=E3=82=AF=E3=83=88=E3=81=A7= =E9=96=8B=E7=99=BA=E3=81=95=E3=82=8C=E3=81=9F=E3=82=82 > =E3=81=AE=E3=81=A7=E3=81=AF=E3=81=AA=E3=81=8F=E5=8D=9C=E9=83=A8=E3=81=8C= =E5=B0=91=E3=81=97=E3=81=9A=E3=81=A4=E6=9A=87=E3=82=92=E8=A6=8B=E3=81=A4=E3= =81=91=E3=81=A6=E3=81=AF=E3=83=A1=E3=83=B3=E3=83=86=E3=83=8A=E3=83=B3=E3=82= =B9=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F=E3=82=82=E3=81=AE=E3=81=A7=E3=80=81= > =E3=81=9D=E3=81=AE=E5=AE=9F=E6=85=8B=E3=81=AFNaCl=E6=9D=B1=E4=BA=AC=E6=94= =AF=E7=A4=BE=E3=81=AE=E5=8D=9C=E9=83=A8=E5=B8=AD=E3=81=AB=E8=A8=AD=E7=BD=AE= =E3=81=97=E3=81=A6=E3=81=82=E3=81=A3=E3=81=9F=E5=8D=9C=E9=83=A8=E7=A7=81=E7= =89=A9=E8=A8=88=E7=AE=97=E6=A9=9F=E3=81=AE=E4=B8=AD=E3=81=A7 > =E5=8B=95=E3=81=84=E3=81=A6=E3=81=84=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82= =E9=9B=A2=E8=81=B7=E3=81=AB=E9=9A=9B=E3=81=97=E3=81=93=E3=81=AE=E8=A8=88=E7= =AE=97=E6=A9=9F=E3=81=AF=E5=81=9C=E6=AD=A2=E3=81=AE=E4=B8=8A=E5=BC=95=E3=81= =8D=E6=89=95=E3=81=84=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82=E3=81=9D=E3=81=AE= > =E3=81=9F=E3=82=81=E3=82=B5=E3=83=BC=E3=83=93=E3=82=B9=E3=82=82=E5=B7=BB= =E3=81=8D=E6=B7=BB=E3=81=88=E3=81=A7=E5=81=9C=E6=AD=A2=E3=81=97=E3=81=9F=E3= =81=A8=E3=81=84=E3=81=86=E5=BD=A2=E3=81=A7=E3=81=99=E3=80=82 > =20 > =E5=BE=A9=E6=97=A7=E3=81=AB=E9=9A=9B=E3=81=97=E3=81=A6=E5=95=8F=E9=A1=8C= =E3=81=A8=E3=81=AA=E3=82=8B=E3=81=AE=E3=81=AFssh=E9=8D=B5=E3=81=A7=E3=81=99= =E3=80=82=E4=BB=95=E7=B5=84=E3=81=BF=E4=B8=8A=E3=80=81=E3=82=B2=E3=83=BC=E3= =83=88=E3=82=A6=E3=82=A8=E3=82=A4=E3=83=9E=E3=82=B7=E3=83=B3 > =E3=81=AFruby=E3=81=AEsvn=E3=82=B5=E3=83=BC=E3=83=90=E3=81=ABssh=E3=81=97= =E3=81=A6=E3=83=87=E3=83=BC=E3=82=BF=E3=82=92=E5=8F=96=E5=BE=97=E3=81=97=E3= =81=9F=E5=BE=8C=E3=80=81=E6=AC=A1=E3=81=AB=E3=81=AFgithub=E3=81=ABssh=E3=81= =97 > =E3=81=A6=E3=83=87=E3=83=BC=E3=82=BF=E3=82=92=E6=9B=B4=E6=96=B0=E3=81=99= =E3=82=8B=E5=BF=85=E8=A6=81=E3=81=8C=E3=81=82=E3=82=8A=E3=80=81=E3=81=9D=E3= =82=8C=E3=82=92cron=E3=81=A7=E5=9B=9E=E3=81=99=E9=96=A2=E4=BF=82=E4=B8=8A= =E3=80=81=E3=81=A9=E3=81=A1=E3=82=89=E3=81=A7=E4=BD=BF=E3=81=86 > =E7=A7=98=E5=AF=86=E9=8D=B5=E3=82=82=E3=80=81=E3=82=B2=E3=83=BC=E3=83=88= =E3=82=A6=E3=82=A8=E3=82=A4=E3=83=9E=E3=82=B7=E3=83=B3=E4=B8=8A=E3=81=AB=E3= =80=81=E3=83=91=E3=82=B9=E3=83=95=E3=83=AC=E3=83=BC=E3=82=BA=E3=81=AA=E3=81= =97=E3=81=A7=E5=AD=98=E5=9C=A8=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E5=BF=85= > =E8=A6=81=E3=81=8C=E3=81=82=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82 > =20 > Ruby=E3=81=AE=E3=83=AC=E3=83=9D=E3=82=B8=E3=83=88=E3=83=AA=E3=81=AB=E3=81= =AF=E3=82=AF=E3=83=A9=E3=83=83=E3=82=AF=E3=81=95=E3=82=8C=E3=81=9F=E5=AE=9F= =E7=B8=BE=E3=81=8C=E3=81=82=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82github=E3=81= =AB=E3=82=82=E8=84=86=E5=BC=B1=E6=80=A7 > =E3=82=92=E7=AA=81=E3=81=8B=E3=82=8C=E3=81=9F=E5=AE=9F=E7=B8=BE=E3=81=8C= =E3=81=82=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82=E3=81=97=E3=81=9F=E3=81=8C=E3= =81=A3=E3=81=A6=E3=80=81=E3=81=93=E3=82=8C=E3=82=89=E3=81=AE=E3=83=91=E3=82= =B9=E3=83=95=E3=83=AC=E3=83=BC=E3=82=BA=E3=81=AE=E3=81=AA=E3=81=84 > ssh=E9=8D=B5=E3=81=8C=E6=B5=81=E5=87=BA=E3=81=99=E3=82=8B=E3=81=AE=E3=81= =AF=E3=81=8B=E3=81=AA=E3=82=8A=E5=8D=B1=E9=99=BA=E3=81=A7=E3=81=99=E3=80=82= =E3=81=A9=E3=81=A1=E3=82=89=E3=81=AE=E9=8D=B5=E3=81=8C=E6=B5=81=E5=87=BA=E3= =81=97=E3=81=A6=E3=82=82=E3=80=81Ruby=E3=81=AE > =E3=82=BD=E3=83=BC=E3=82=B9=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AB=E6=82=AA= =E6=84=8F=E3=81=82=E3=82=8B=E6=94=B9=E5=A4=89=E3=82=92=E5=8A=A0=E3=81=88=E3= =82=8B=E3=81=93=E3=81=A8=E3=81=8C=E5=8F=AF=E8=83=BD=E3=81=AB=E3=81=AA=E3=82= =8A=E3=81=BE=E3=81=99=E3=80=82=E7=A7=81=E3=81=A8=E3=81=97=E3=81=A6=E3=81=AF= > =E3=81=93=E3=81=AE=E9=8D=B5=E3=82=92=E8=87=AA=E5=88=86=E3=81=AE=E7=AE=A1= =E7=90=86=E4=B8=8B=E3=81=AB=E3=81=AA=E3=81=84=E8=A8=88=E7=AE=97=E6=A9=9F=E3= =81=AB=E8=A8=AD=E7=BD=AE=E3=81=97=E3=81=9F=E3=81=8F=E3=81=82=E3=82=8A=E3=81= =BE=E3=81=9B=E3=82=93=E3=80=82=E3=81=A9=E3=81=93=E3=81=8B=E3=81=AE > VPS=E3=81=AA=E3=81=A9=E3=82=92=E5=80=9F=E3=82=8A=E3=81=A6=E3=82=B9=E3=82= =AF=E3=83=AA=E3=83=97=E3=83=88=E3=82=92=E5=8B=95=E3=81=8B=E3=81=9B=E3=81=B0= =E3=80=81=E6=95=B0=E5=88=86=E3=81=8B=E3=82=89=E6=95=B0=E6=99=82=E9=96=93=E7= =A8=8B=E5=BA=A6=E3=81=A7=E3=82=B2=E3=83=BC=E3=83=88=E3=82=A6 > =E3=82=A8=E3=82=A4=E3=82=92=E7=A7=BB=E7=AF=89=E3=81=A7=E3=81=8D=E3=82=8B= =E3=81=93=E3=81=A8=E3=81=AF=E7=A2=BA=E8=AA=8D=E6=B8=88=E3=81=BF=E3=81=A7=E3= =81=99=E3=81=8C=E3=80=81=E3=81=9D=E3=81=AE=E7=A2=BA=E8=AA=8D=E3=81=AE=E9=9A= =9B=E3=81=AB=E3=82=82=E7=A2=BA=E8=AA=8D=E3=81=AB=E3=81=AFssh > agent forwarding=E3=82=92=E7=94=A8=E3=81=84=E3=81=BE=E3=81=97=E3=81=9F=E3= =80=82 > =20 > =E3=81=93=E3=81=86=E3=81=84=E3=81=A3=E3=81=9F=E7=90=86=E7=94=B1=E3=81=AB= =E3=82=88=E3=82=8A=E4=BB=8A=E3=81=99=E3=81=90=E3=81=ABgithub=E3=81=A8=E3=81= =AE=E5=90=8C=E6=9C=9F=E3=82=92=E5=BE=A9=E6=97=A7=E3=81=99=E3=82=8B=E3=81=AE= =E3=81=AF=E3=81=AA=E3=81=8B=E3=81=AA=E3=81=8B=E3=81=AB > =E5=9B=B0=E9=9B=A3=E3=81=A7=E3=81=99=E3=80=82=E3=81=84=E3=82=84=E3=80=81= =E6=AD=A3=E7=A2=BA=E3=81=AB=E8=A8=80=E3=81=86=E3=81=AE=E3=81=A7=E3=81=82=E3= =82=8C=E3=81=B0=E3=80=81=E3=81=B9=E3=81=A4=E3=81=AB=E6=8A=80=E8=A1=93=E7=9A= =84=E3=81=AA=E5=9B=B0=E9=9B=A3=E3=81=AF=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A0= > =E3=81=8C=E3=80=81=E3=81=9D=E3=82=8C=E3=82=92=E3=82=84=E3=82=8B=E3=81=A8= =E3=82=BB=E3=82=AD=E3=83=A5=E3=83=AA=E3=83=86=E3=82=A3=E4=B8=8A=E3=81=AE=E6= =87=B8=E5=BF=B5=E3=81=8C=E3=81=82=E3=82=8B=E3=80=82=E5=B0=91=E3=81=AA=E3=81= =8F=E3=81=A8=E3=82=82=E5=A4=96=E9=83=A8=E3=82=A4=E3=83=B3=E3=82=BF=E3=83=BC= > =E3=83=8D=E3=83=83=E3=83=88=E5=81=B4=E3=81=8B=E3=82=89=E3=81=AE=E3=82=A2= =E3=82=AF=E3=82=BB=E3=82=B9=E3=81=8C=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=84(= =E3=81=8C=E3=80=81=E3=81=93=E3=81=A1=E3=82=89=E3=81=8B=E3=82=89=E3=81=AFr= uby-lang.org (http://ruby-lang.org)=E3=81=A8 > github.com (http://github.com)=E3=81=B8=E3=81=AE=E3=82=B3=E3=83=8D=E3=82= =AF=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=8C=E5=BC=B5=E3=82=8C=E3=82=8B)=E3=83= =8D=E3=83=83=E3=83=88=E3=83=AF=E3=83=BC=E3=82=AF=E3=81=A7=E3=80=81=E3=81=82= =E3=82=8B=E7=A8=8B=E5=BA=A6=E4=BF=A1=E9=A0=BC=E3=81=A7 > =E3=81=8D=E3=82=8B=E3=83=9B=E3=82=B9=E3=83=88=E3=81=97=E3=81=8B=E8=A8=AD= =E7=BD=AE=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=E5=A0=B4=E6= =89=80=E3=80=81=E3=81=AB=E7=9B=B8=E5=BD=93=E3=81=99=E3=82=8B=E5=A0=B4=E6=89= =80=E3=82=92=E6=8E=A2=E3=81=99=E5=BF=85=E8=A6=81=E3=81=8C=E3=81=82=E3=82=8B= > =E3=81=A8=E3=81=84=E3=81=86=E8=AA=8D=E8=AD=98=E3=81=A7=E3=81=8A=E3=82=8A= =E3=81=BE=E3=81=99=E3=80=82=E3=81=B9=E3=81=A4=E3=81=AB=E6=99=AE=E9=80=9A=E3= =81=AE=E4=BC=81=E6=A5=AD=E3=81=AE=E7=A4=BE=E5=86=85=E3=83=8D=E3=83=83=E3=83= =88=E3=83=AF=E3=83=BC=E3=82=AF=E3=81=A7=E6=A7=8B=E3=82=8F=E3=81=AA=E3=81=84= > =E3=81=A8=E6=80=9D=E3=81=84=E3=81=BE=E3=81=99=E3=81=8C=E3=80=81=E3=81=9D= =E3=81=93=E3=81=AB=E7=A4=BE=E6=A5=AD=E3=81=A8=E9=96=A2=E4=BF=82=E3=81=AA=E3= =81=84=E8=A8=88=E7=AE=97=E6=A9=9F=E3=82=92=E8=A8=AD=E7=BD=AE=E3=81=99=E3=82= =8B=E6=98=AF=E9=9D=9E=E3=81=A7=E3=81=99=E3=82=88=E3=81=AD=E3=80=82 > =20 > =20 > -- =20 > http://bugs.ruby-lang.org/ > =20 > =20 --506730da_13d4a2f2_fa Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Hello shyouhei,

I would be happy to have RubyCe= ntral run the gateway but I'd like to run it in colocation. I can guarant= ee security of the keys by using passphrases and ssh-agent. The machine i= n question will only run the gateway, nothing else, and be secured with s= eparate ssh keys to secure access to it.

Would t= hat be ok=3F

-- 
Evan Phoenix // evan=40ph= x.io

=20

On Saturday, September= 29, 2012 at 8:40 AM, shyouhei (Shyouhei Urabe) wrote:


Issue =237085 has= been updated by shyouhei (Shyouhei Urabe).


=
Memo: how to reboot the svn->git gateway

Prerequisite

1. You need be a ruby core c= ommitter; you'll have to access the ruby's
canonical svn rep= o.

2. You need have a valid github account. Let= me (shyouhei) know your
github id, so that I can let you pu= sh things to github/ruby/ruby.

3. You need regis= ter non-passphrased SSH public keys to both the ruby
repo an= d github. Securely manage the private counterpart of them.
4. You need have a reliable place as I wrote before.

5. You need a working server: inside that reliable place= , with git(1),
svn(1), as well as git-svn(1) properly set up= .

Installation

1. Downl= oad following URL. This is the verbatim copy of the gateway
= script and its working directory, created right at the moment I
shut my old gateway down.

ftp://ftp.= ruby-lang.org/pub/incoming/ruby-gateway.tar.xz.gpg

2. The file mentioned above is a GPG signed LZMA compressed TAR
file. *NEVER* *=46ORGET* to make sure the thing you downloaded= is
properly signed by me.

3. Insid= e the tarball is a tiny script named git= hub.sh. This is the
gateway itself. Just invoke this s= cript with no args and it will
do everything needed -- works= for me at least. You might have to
modify the script to fi= t your directory placement though.

4. Once you a= re sure the script works well, setup a cron job to
periodic= ally run the script.

* * * * * sh github.sh

That's a= ll. May the source be with you.
------------------------------= ----------
Bug =237085: Subversion =E2=86=92 GitHub gateway sto= ps.
https://bugs.ruby-lang.org/issues/7085=23change-29787

Author: shyouhei (Shyouhei Urabe)
Status: = Open
Priority: Immediate
Assignee:
Categor= y: Project
Target version:
ruby -v: not version depe= ndent


Abstract: Sorry for your i= nconvenience. Due to my resigning job
at netlab.jp, the Subversion to GitHub gateway stops no= w. The
gateway was located there, maintained by me.
=
Biggest problem to reboot the gateway is its ssh private k= eys. it
first ssh into the canonical svn server to pull the re= po, then ssh
into github to push it. Both ssh sessions need = private keys and
as the gateway runs totally automatic using c= ron, those keys are
not passphrased.

= Ruby's canonical repo has once been cracked. GitHub also had
<= div>vulnerability before. Leaking these keys is a serious threat
against our project. A malicious codes can be injected by usin= g
(either of) them.

So sorry, I don't= want to put these keys on any VPS, IaaS, or
colocations or= anything like that. Doing so is in fact easy, and
makes the= gateway working again, but will introduce a huge
securi= ty threat.

In order to properly fix this sit= ution, a RELIABLE place is
mandatory, where no access is po= ssible from the internet, yet the
gateway itself can connect= to ruby-lang.org and github.com.
Normal company i= ntranets behind NATs should suffice, like
netlab.jp was, Though I doubt a =22normal=22 compan= y intranet will not
welcome a black box like the gateway.
=

=3D=3D=3D=3D=3D=3D=3D=3D=3D

= Github=E3=82=B2=E3=83=BC=E3=83=88=E3=82=A6=E3=82=A8=E3=82=A4=E3=81=AF=E5=8D= =9C=E9=83=A8=E9=9B=A2=E8=81=B7=E3=81=AB=E4=BC=B4=E3=81=84=E5=81=9C=E6=AD=A2= =E3=81=97=E3=81=A6=E3=81=8A=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82=E7=8F=BE=E5= =9C=A8=E3=81=AE=E3=81=A8=E3=81=93=E3=82=8D=E5=BE=A9
=E6=97=A7=E3= =81=AE=E8=A6=8B=E8=BE=BC=E3=81=BF=E3=81=AF=E3=81=94=E3=81=96=E3=81=84=E3=81= =BE=E3=81=9B=E3=82=93=E3=80=82=E3=81=93=E3=81=AE=E3=82=88=E3=81=86=E3=81=AA= =E3=82=A2=E3=83=8A=E3=82=A6=E3=83=B3=E3=82=B9=E3=81=8C=E4=BA=8B=E5=BE=8C=E3= =81=AB=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=97=E3=81=BE=E3=81=84
=E3= =81=BE=E3=81=97=E3=81=9F=E3=81=93=E3=81=A8=E3=82=92=E6=B7=B1=E3=81=8F=E3=81= =8A=E8=A9=AB=E3=81=B3=E7=94=B3=E3=81=97=E4=B8=8A=E3=81=92=E3=81=BE=E3=81=99= =E3=80=82=E6=A0=B9=E5=9B=9E=E3=81=97=E3=81=8C=E8=B6=B3=E3=82=8A=E3=81=A6=E3= =81=AA=E3=81=8F=E3=81=A6=E3=81=94=E3=82=81=E3=82=93=E3=81=AA=E3=81=95
=E3=81=84=E3=80=82

=E3=81=9D=E3=82=82=E3=81= =9D=E3=82=82github=E3=81=B8=E3=81=AE=E3=82=B2=E3=83=BC=E3=83=88=E3=82=A6=E3= =82=A8=E3=82=A4=E3=81=AF=E4=BD=95=E3=82=89=E3=81=8B=E3=81=AE=E3=83=97=E3=83= =AD=E3=82=B8=E3=82=A7=E3=82=AF=E3=83=88=E3=81=A7=E9=96=8B=E7=99=BA=E3=81=95= =E3=82=8C=E3=81=9F=E3=82=82
=E3=81=AE=E3=81=A7=E3=81=AF=E3=81=AA= =E3=81=8F=E5=8D=9C=E9=83=A8=E3=81=8C=E5=B0=91=E3=81=97=E3=81=9A=E3=81=A4=E6= =9A=87=E3=82=92=E8=A6=8B=E3=81=A4=E3=81=91=E3=81=A6=E3=81=AF=E3=83=A1=E3=83= =B3=E3=83=86=E3=83=8A=E3=83=B3=E3=82=B9=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F= =E3=82=82=E3=81=AE=E3=81=A7=E3=80=81
=E3=81=9D=E3=81=AE=E5=AE=9F= =E6=85=8B=E3=81=AFNaCl=E6=9D=B1=E4=BA=AC=E6=94=AF=E7=A4=BE=E3=81=AE=E5=8D= =9C=E9=83=A8=E5=B8=AD=E3=81=AB=E8=A8=AD=E7=BD=AE=E3=81=97=E3=81=A6=E3=81=82= =E3=81=A3=E3=81=9F=E5=8D=9C=E9=83=A8=E7=A7=81=E7=89=A9=E8=A8=88=E7=AE=97=E6= =A9=9F=E3=81=AE=E4=B8=AD=E3=81=A7
=E5=8B=95=E3=81=84=E3=81=A6=E3= =81=84=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82=E9=9B=A2=E8=81=B7=E3=81=AB=E9=9A= =9B=E3=81=97=E3=81=93=E3=81=AE=E8=A8=88=E7=AE=97=E6=A9=9F=E3=81=AF=E5=81=9C= =E6=AD=A2=E3=81=AE=E4=B8=8A=E5=BC=95=E3=81=8D=E6=89=95=E3=81=84=E3=81=BE=E3= =81=97=E3=81=9F=E3=80=82=E3=81=9D=E3=81=AE
=E3=81=9F=E3=82=81=E3= =82=B5=E3=83=BC=E3=83=93=E3=82=B9=E3=82=82=E5=B7=BB=E3=81=8D=E6=B7=BB=E3=81= =88=E3=81=A7=E5=81=9C=E6=AD=A2=E3=81=97=E3=81=9F=E3=81=A8=E3=81=84=E3=81=86= =E5=BD=A2=E3=81=A7=E3=81=99=E3=80=82

=E5=BE=A9=E6= =97=A7=E3=81=AB=E9=9A=9B=E3=81=97=E3=81=A6=E5=95=8F=E9=A1=8C=E3=81=A8=E3=81= =AA=E3=82=8B=E3=81=AE=E3=81=AFssh=E9=8D=B5=E3=81=A7=E3=81=99=E3=80=82=E4=BB= =95=E7=B5=84=E3=81=BF=E4=B8=8A=E3=80=81=E3=82=B2=E3=83=BC=E3=83=88=E3=82=A6= =E3=82=A8=E3=82=A4=E3=83=9E=E3=82=B7=E3=83=B3
=E3=81=AFruby=E3=81= =AEsvn=E3=82=B5=E3=83=BC=E3=83=90=E3=81=ABssh=E3=81=97=E3=81=A6=E3=83=87=E3= =83=BC=E3=82=BF=E3=82=92=E5=8F=96=E5=BE=97=E3=81=97=E3=81=9F=E5=BE=8C=E3=80= =81=E6=AC=A1=E3=81=AB=E3=81=AFgithub=E3=81=ABssh=E3=81=97
=E3=81= =A6=E3=83=87=E3=83=BC=E3=82=BF=E3=82=92=E6=9B=B4=E6=96=B0=E3=81=99=E3=82=8B= =E5=BF=85=E8=A6=81=E3=81=8C=E3=81=82=E3=82=8A=E3=80=81=E3=81=9D=E3=82=8C=E3= =82=92cron=E3=81=A7=E5=9B=9E=E3=81=99=E9=96=A2=E4=BF=82=E4=B8=8A=E3=80=81= =E3=81=A9=E3=81=A1=E3=82=89=E3=81=A7=E4=BD=BF=E3=81=86
=E7=A7=98= =E5=AF=86=E9=8D=B5=E3=82=82=E3=80=81=E3=82=B2=E3=83=BC=E3=83=88=E3=82=A6=E3= =82=A8=E3=82=A4=E3=83=9E=E3=82=B7=E3=83=B3=E4=B8=8A=E3=81=AB=E3=80=81=E3=83= =91=E3=82=B9=E3=83=95=E3=83=AC=E3=83=BC=E3=82=BA=E3=81=AA=E3=81=97=E3=81=A7= =E5=AD=98=E5=9C=A8=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E5=BF=85
=E8=A6=81=E3=81=8C=E3=81=82=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82

Ruby=E3=81=AE=E3=83=AC=E3=83=9D=E3=82=B8=E3=83=88=E3=83=AA= =E3=81=AB=E3=81=AF=E3=82=AF=E3=83=A9=E3=83=83=E3=82=AF=E3=81=95=E3=82=8C=E3= =81=9F=E5=AE=9F=E7=B8=BE=E3=81=8C=E3=81=82=E3=82=8A=E3=81=BE=E3=81=99=E3=80= =82github=E3=81=AB=E3=82=82=E8=84=86=E5=BC=B1=E6=80=A7
=E3=82=92= =E7=AA=81=E3=81=8B=E3=82=8C=E3=81=9F=E5=AE=9F=E7=B8=BE=E3=81=8C=E3=81=82=E3= =82=8A=E3=81=BE=E3=81=99=E3=80=82=E3=81=97=E3=81=9F=E3=81=8C=E3=81=A3=E3=81= =A6=E3=80=81=E3=81=93=E3=82=8C=E3=82=89=E3=81=AE=E3=83=91=E3=82=B9=E3=83=95= =E3=83=AC=E3=83=BC=E3=82=BA=E3=81=AE=E3=81=AA=E3=81=84
ssh=E9=8D= =B5=E3=81=8C=E6=B5=81=E5=87=BA=E3=81=99=E3=82=8B=E3=81=AE=E3=81=AF=E3=81=8B= =E3=81=AA=E3=82=8A=E5=8D=B1=E9=99=BA=E3=81=A7=E3=81=99=E3=80=82=E3=81=A9=E3= =81=A1=E3=82=89=E3=81=AE=E9=8D=B5=E3=81=8C=E6=B5=81=E5=87=BA=E3=81=97=E3=81= =A6=E3=82=82=E3=80=81Ruby=E3=81=AE
=E3=82=BD=E3=83=BC=E3=82=B9=E3= =82=B3=E3=83=BC=E3=83=89=E3=81=AB=E6=82=AA=E6=84=8F=E3=81=82=E3=82=8B=E6=94= =B9=E5=A4=89=E3=82=92=E5=8A=A0=E3=81=88=E3=82=8B=E3=81=93=E3=81=A8=E3=81=8C= =E5=8F=AF=E8=83=BD=E3=81=AB=E3=81=AA=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82=E7= =A7=81=E3=81=A8=E3=81=97=E3=81=A6=E3=81=AF
=E3=81=93=E3=81=AE=E9= =8D=B5=E3=82=92=E8=87=AA=E5=88=86=E3=81=AE=E7=AE=A1=E7=90=86=E4=B8=8B=E3=81= =AB=E3=81=AA=E3=81=84=E8=A8=88=E7=AE=97=E6=A9=9F=E3=81=AB=E8=A8=AD=E7=BD=AE= =E3=81=97=E3=81=9F=E3=81=8F=E3=81=82=E3=82=8A=E3=81=BE=E3=81=9B=E3=82=93=E3= =80=82=E3=81=A9=E3=81=93=E3=81=8B=E3=81=AE
VPS=E3=81=AA=E3=81=A9= =E3=82=92=E5=80=9F=E3=82=8A=E3=81=A6=E3=82=B9=E3=82=AF=E3=83=AA=E3=83=97=E3= =83=88=E3=82=92=E5=8B=95=E3=81=8B=E3=81=9B=E3=81=B0=E3=80=81=E6=95=B0=E5=88= =86=E3=81=8B=E3=82=89=E6=95=B0=E6=99=82=E9=96=93=E7=A8=8B=E5=BA=A6=E3=81=A7= =E3=82=B2=E3=83=BC=E3=83=88=E3=82=A6
=E3=82=A8=E3=82=A4=E3=82=92= =E7=A7=BB=E7=AF=89=E3=81=A7=E3=81=8D=E3=82=8B=E3=81=93=E3=81=A8=E3=81=AF=E7= =A2=BA=E8=AA=8D=E6=B8=88=E3=81=BF=E3=81=A7=E3=81=99=E3=81=8C=E3=80=81=E3=81= =9D=E3=81=AE=E7=A2=BA=E8=AA=8D=E3=81=AE=E9=9A=9B=E3=81=AB=E3=82=82=E7=A2=BA= =E8=AA=8D=E3=81=AB=E3=81=AFssh
agent forwarding=E3=82=92=E7=94=A8= =E3=81=84=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82

=E3= =81=93=E3=81=86=E3=81=84=E3=81=A3=E3=81=9F=E7=90=86=E7=94=B1=E3=81=AB=E3=82= =88=E3=82=8A=E4=BB=8A=E3=81=99=E3=81=90=E3=81=ABgithub=E3=81=A8=E3=81=AE=E5= =90=8C=E6=9C=9F=E3=82=92=E5=BE=A9=E6=97=A7=E3=81=99=E3=82=8B=E3=81=AE=E3=81= =AF=E3=81=AA=E3=81=8B=E3=81=AA=E3=81=8B=E3=81=AB
=E5=9B=B0=E9=9B= =A3=E3=81=A7=E3=81=99=E3=80=82=E3=81=84=E3=82=84=E3=80=81=E6=AD=A3=E7=A2=BA= =E3=81=AB=E8=A8=80=E3=81=86=E3=81=AE=E3=81=A7=E3=81=82=E3=82=8C=E3=81=B0=E3= =80=81=E3=81=B9=E3=81=A4=E3=81=AB=E6=8A=80=E8=A1=93=E7=9A=84=E3=81=AA=E5=9B= =B0=E9=9B=A3=E3=81=AF=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A0
=E3=81= =8C=E3=80=81=E3=81=9D=E3=82=8C=E3=82=92=E3=82=84=E3=82=8B=E3=81=A8=E3=82=BB= =E3=82=AD=E3=83=A5=E3=83=AA=E3=83=86=E3=82=A3=E4=B8=8A=E3=81=AE=E6=87=B8=E5= =BF=B5=E3=81=8C=E3=81=82=E3=82=8B=E3=80=82=E5=B0=91=E3=81=AA=E3=81=8F=E3=81= =A8=E3=82=82=E5=A4=96=E9=83=A8=E3=82=A4=E3=83=B3=E3=82=BF=E3=83=BC
<= div>=E3=83=8D=E3=83=83=E3=83=88=E5=81=B4=E3=81=8B=E3=82=89=E3=81=AE=E3=82= =A2=E3=82=AF=E3=82=BB=E3=82=B9=E3=81=8C=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=84= (=E3=81=8C=E3=80=81=E3=81=93=E3=81=A1=E3=82=89=E3=81=8B=E3=82=89=E3=81=AF= ruby-lang.org=E3=81=A8
github.com=E3=81=B8=E3=81=AE=E3=82= =B3=E3=83=8D=E3=82=AF=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=8C=E5=BC=B5=E3=82=8C= =E3=82=8B)=E3=83=8D=E3=83=83=E3=83=88=E3=83=AF=E3=83=BC=E3=82=AF=E3=81=A7= =E3=80=81=E3=81=82=E3=82=8B=E7=A8=8B=E5=BA=A6=E4=BF=A1=E9=A0=BC=E3=81=A7<= /div>
=E3=81=8D=E3=82=8B=E3=83=9B=E3=82=B9=E3=83=88=E3=81=97=E3=81=8B= =E8=A8=AD=E7=BD=AE=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=E5= =A0=B4=E6=89=80=E3=80=81=E3=81=AB=E7=9B=B8=E5=BD=93=E3=81=99=E3=82=8B=E5=A0= =B4=E6=89=80=E3=82=92=E6=8E=A2=E3=81=99=E5=BF=85=E8=A6=81=E3=81=8C=E3=81=82= =E3=82=8B
=E3=81=A8=E3=81=84=E3=81=86=E8=AA=8D=E8=AD=98=E3=81=A7= =E3=81=8A=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82=E3=81=B9=E3=81=A4=E3=81=AB=E6= =99=AE=E9=80=9A=E3=81=AE=E4=BC=81=E6=A5=AD=E3=81=AE=E7=A4=BE=E5=86=85=E3=83= =8D=E3=83=83=E3=83=88=E3=83=AF=E3=83=BC=E3=82=AF=E3=81=A7=E6=A7=8B=E3=82=8F= =E3=81=AA=E3=81=84
=E3=81=A8=E6=80=9D=E3=81=84=E3=81=BE=E3=81=99= =E3=81=8C=E3=80=81=E3=81=9D=E3=81=93=E3=81=AB=E7=A4=BE=E6=A5=AD=E3=81=A8=E9= =96=A2=E4=BF=82=E3=81=AA=E3=81=84=E8=A8=88=E7=AE=97=E6=A9=9F=E3=82=92=E8=A8= =AD=E7=BD=AE=E3=81=99=E3=82=8B=E6=98=AF=E9=9D=9E=E3=81=A7=E3=81=99=E3=82=88= =E3=81=AD=E3=80=82


--
=20 =20 =20 =20
=20

--506730da_13d4a2f2_fa--