SVNサーバ(svn+ssh)のリポジトリをgitサーバに移行する

■前提条件
gitはサーバ&クライアントのどちらも既に使える環境であること

①gitサーバで空のリポジトリを作成する。
作成方法は各Gitサーバでの手法に従えば良いと思います。
(コマンドだったり、gitlabで作成したり)

②ローカルにSVNリポジトリを読み込んだgitリポジトリを作成する。

$ git svn clone --prefix svn/ svn+ssh://svn.sample.com/home/svn/svnhoge githoge
以下、読み替えてください。
【svn.sample.com】 SVNサーバのホスト名(IPアドレス)
【/home/svn/svnhoge】 移行対象のリポジトリのパス
  ※上記2つはSVNを使っていた頃に指定していたものと同じです
【githoge】 作成するgitリポジトリのディレクトリ名

③ローカルにリポジトリができるので、gitサーバと紐付けする
$ cd githoge
$ git remote add origin gituser@git.sample.com:git/githoge.git

以下、読み替えてください。
【gituser】 gitを利用する際のアカウント
【git.sample.com】 gitサーバのホスト名(IPアドレス)
【git/githoge.git】 ①で作成したgitリポジトリ

以上で完了です。

Share

MacからLinuxサーバに秘密鍵方式でsshする

■環境
OS X Yosemite
CentOS 7.2

①秘密鍵と公開鍵を生成
ローカルのMacにて以下を実施。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hoge/.ssh/id_rsa):
=>生成するパスとファイル名を指定(空欄のままだと括弧内のファイル名で生成される)
Enter passphrase (empty for no passphrase):
=>生成する鍵のパスワード。不要なら空欄のままエンター
Enter same passphrase again:
=>鍵のパスワードの再入力

生成した秘密鍵と同ディレクトリに公開鍵(拡張子pub)も生成されているので、
catコマンドで中身を見ておく。(後ほど使うのでコピーしておくと良い)

②公開鍵をサーバに格納
ログイン先サーバにて以下を実施
$ mkdir ~/.ssh
$ vim ~/.ssh/authorized_keys

この「authorized_keys」に①で生成した公開鍵の中身を貼り付ける。

以上で秘密鍵認証でログインできるようになっている。
もし接続できなかった場合は以下設定も確認してみる。

③【繋がらない場合のみ】sshd設定確認
ログイン先のサーバにて以下を実施
$ vim /etc/ssh/sshd_config

以下の設定となっているか確認
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

※上から2つはコメントアウトされていても良い

Share