質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.76%

  • Git

    1169questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • SSH

    519questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • FTP

    304questions

    FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

  • Server

    90questions

外部ベンダーが作成したgitのファイルを更新したい

解決済

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 240

まずはじめに、私はデザイナー寄りのフロントエンジニア的な役回りを行っております。普段はFTPクライアントで接続してファイルのアップロード・更新を行っています。

今回は、外部ベンダーが作成したサーバーのFTPアカウントをもらおうとしたら「gitでやっているので、FTPアカウントはない」とのことでした。
※私が直接外部ベンダーと繋がっていればもっと色々と情報が取り寄せられるのですが、外部ベンダーとのやり取りは別のディレクターが行っており、その方と外部ベンダーのやり取りが円滑ではなく、なかなか情報が取り寄せづらい状況です。。

前提が長くなりましたが、今回お伺いしたいことは、
外部ベンダーから、SSH用のホスト・ID・PASSの3点のみが届いており、
その3点の情報からgitのリモートリポリトジのファイルを更新できるかどうか?ということです。

・デザイナー寄りの頭のため、コマンドラインの使用はできれば避けたい=GUI(TortoiseGit 等?)というようなツールでわかりやすく操作できるとベスト(希望)

・目的を達成するために、上記3点以外の情報も取り寄せる必要があるか?

ということになります。

知識不足のため、チグハグな部分もあるかと思いますが、
ご助言を頂けますと幸いです。

どうぞよろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

checkベストアンサー

+7

外部ベンダーから、SSH用のホスト・ID・PASSの3点のみが届いており

質問文を受けて色々と手法や回避策を考えましたが、
Gitを使う場合、一度はSSHで接続して初期設定を済ませない限りどうどうしようもなさそうです。

という訳でGitを一切使わない回避策を考えます。

SSHの接続情報というのはFTPのログイン情報の完全上位互換であり、
ネットワーク越しのパソコンに接続してどんなコマンドでも入力出来ると共に、
ファイルの送受信を行うことだって可能なんです。

つまり、FTPでファイルのやり取りが出来なくても、SSHでファイルのやり取りが出来るんです。
まぁ、パン(FTP)はないけどケーキ(SSH)があるから飢える事はありませんね。

SSHでファイルの送受信を行う仕組みをSFTPと呼びます。
対応している代表的なツールはWinSCPです。
ほら、リンク先にちゃんとFTPやSFTPに対応って書いてあるでしょ?

WinSCPに限らず多くのFTPクライアントはSFTPに対応していますので、自分の今使っているソフトがSFTP対応か調べて見るのも良いと思います。
それらのソフトにはSFTPやSSHを利用する…等の設定が用意されていますので、
後はログイン情報を設定してサーバに接続すれば普通のFTPクライアントと同じ操作でファイルのアップロード・ダウンロードが出来ます。


それはそれとして、Gitも覚えましょう。
もう同じディレクトリやファイル名に_1.htmlとか_old.htmlとか、日付けを入れて管理しようなんて人間はパソコン使えないお爺ちゃんだけですよ???(煽りまくり

読んだことはありませんが、わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉
ターゲット層としてエンジニア以外の方も含まれているらしく、
可愛らしい絵柄のコミックスとは裏腹にとても分かりやすい良書と聞きます。

その中でSourceTreeという超有名GUIのGitクライアントを利用するそうで、
このソフトを駆使しながら自然とGitの良さを引き出せるようになるようです。

まずは一度SourceTreeでGitでのファイルのバージョン管理を試してみてください。
その上でもし「うおお、Git便利!本番環境でも使いたい!」…という風になったら、
少し面倒ですが最低限のコマンドだけ勉強してみてください。

PuttyのようなSSHクライアントで本番環境のファイルをGitを使ってDLという作業を行ってみてください。
それに成功したら、必要なコマンドはマクロに固めて保存しましょう。
そうすればショートカット1個で必要なコマンド順を自動的に発行してくれます。

そこまで行けば、普段はSourceTreeでファイルの世代管理をしつつ、本番環境に適用したくなったら、
登録済みのマクロをポチッと起動するだけで本番適用終わり、楽ちんな環境が作れますよ!

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/17 13:25

    スレ違いでしたらすみません。

    いままで経験がないので、
    「パスワード認証のSSHサーバー上のGitリポジトリへのアクセス」
    の仕方がわからなくて回答を見送ったのですが、
    最悪「.git」ディレクトリを含めてソースのダウンロードを行なえば、いままでの履歴も持ってこれますね。

    キャンセル

  • 2018/05/17 13:33 編集

    manzyunさんの仰るように今回の質問には曖昧な箇所があります。

    もし該当のサーバにリモートリポジトリが存在し、GitPushで更新してくださいという仕組みなのであれば
    そもそもSSHの情報だけ渡して終わりじゃなくてリポジトリのURLも渡しているはずではないのか?と考えました。

    従って、私は今回の外部ベンダーに関してWebサーバだけ作った業者であり、
    「SSHの接続情報だけ渡すから、GitHubなりBitbucketと勝手に連携してください」という風に解釈して回答しました。

    キャンセル

  • 2018/05/17 14:41

    miyabi-sunさま

    ご丁寧に、詳細なご回答をいただき誠にありがとうございます。
    質問を出した後に、TortoiseGITでも設定を進めていたのですが、外部ベンダーが設定した既存のリモートリポジトリにアクセスすることは出来ず‥でした。

    miyabi-sunさんからSFTPのことを教えていただいたことにより、おかげさまで私も理解が深まりまして、
    実は質問前にWin-SCPなどでSFTP接続してみていたのですが、それができない(接続エラーでました‥)ということは、外部ベンダーからもらっている情報自体に誤り(SSH用のアカウントではない??等)がある可能性が高いと思いますので(そういう判断でよろしいでしょうか‥?)、新しいSSH用のアカウントを取り寄せるなりのアクションをしてみようと思います。

    現在、外部ベンダーから非常に情報が得づらい事情があり、先述のSSH用のホスト・ID・PASS以外には、ファイル管理はgitでしている模様‥という情報のみがある状況です。

    おっしゃていただいた通り、gitでのファイル管理も出来るようになりたいので、使用可能なアカウントを入手した上で再度試みようと思います。

    なお、完全な状況の解決に至るまでは、当質問をオープンにさせていただこうと思います。またお伺いすることもあるかと思いますがその際はお手数ですがよろしくお願いいたします。

    キャンセル

  • 2018/05/17 15:11

    > SSH用のホスト・ID・PASS
    ん?…なるほど、その「SSH用のホスト」はSSH用ホストではない可能性がありますね。
    `https://example/kyanny/hello.git`もしくは`[ユーザ名]@example.com:kyanny/hello.git`みたいな形式ではないですか?

    もしそうであれば、これはSSHのログイン情報ではなくGitの接続先のURLです。
    SSHの接続情報のホスト名は`123.45.67.89`みたいなドット区切りの数字か、`example.com`みたいにドメイン部分の文字列しか存在しません。

    ---

    先方のベンダーさんは確かにGitでやり取りして下さいねと仰ってるようです

    Gitは全ての端末が全てのバージョン履歴を持つので、
    初手が`git clone`コマンド、つまり「リモート環境のバージョン管理履歴を完全コピーさせて」になります。

    その意識を元にTortoiseGITやSourcetree等の設定を見直してみてください。

    ---

    Gitはログイン認証にHTTPSでのベーシック認証か、
    SSHというパソコンをリモート操作する技術の認証部分とファイル送信部分だけ間借りする認証方法があります。

    話を聞く限り結構ガッチリやってるベンダーさんのようですので、
    回答欄で解説したSFTPで接続に関してはSSHの権限をかなり絞られてて、自分勝手なディレクトリにファイルをアップロードしたりダウンロードしたりできなくなっている可能性が高そうだとみました。

    SSHとして接続してみたいのであれば、GitのURLからドメイン部だけ取り出して指定してみてください。

    キャンセル

  • 2018/05/21 16:10

    返信が大変遅くなってしまい申し訳ございません。コメントをいただきありがとうございます。

    外部ベンダーからいただいている情報としては、ホストは数字とドットで構成されるIPアドレス、それのみで、それ以外にはID・PASSの計3点でした。

    TortoiseGITで試したみたこととしては、上記3点の情報が入れられそうな設定箇所を探してみたところ、”プロキシサーバーの設定”という箇所だけだったので、そこに入力してみました。これで、既存のリモートリポリトジにアクセス出来、同期が出来るのでは‥ と思いましたが、思うようには行かなかった(もっと別の操作が必要??)、というのが現状でわかっていることになります。

    > 回答欄で解説したSFTPで接続に関してはSSHの権限をかなり絞られてて、自分勝手なディレクトリに
    > ファイルをアップロードしたりダウンロードしたりできなくなっている可能性が高そうだとみました。

    なるほど。そういう可能性も考えられるのですね。とてもそんな気がしています。

    その後、未だに進展がなく、これは相当時間がかかってしまいそうです。
    何か、他の手がないかを引き続き探してみようと思います。

    キャンセル

  • 2018/05/21 17:35

    TortoiseGITで、Gitクローンを行なうと「gitは正常に終了しませんでした (終了コード 128)」が出てしまっております。その場合の対処法がネット上にいくつかみつかりますので、で色々と試している段階です。

    キャンセル

+2

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/17 14:38

    リンクのご共有ありがとうございます!まさにそちらのページをみながら設定を試みておりました。

    キャンセル

+1

Windowsであるなら、TortoiseGITでいいとおもいますが。
SourceTreeってのも、初心者の方にはわかりやすいですかねー

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/17 14:38

    ご回答・アドバイスをいただき誠にありがとうございます!

    キャンセル

0

解決したわけではないのですが‥

友人のエンジニアさんに、「外部ベンダーから送られてきていたSSH用と聞いていたホスト・ID・PASSでSSHが接続できるかを確認するぐらいしかできることはないかもね」とアドバイスをいただき、「PuTTY」というソフトで前述のアカウントでSSH接続を試みたのですが、そこでエラーが出てしまい接続できませんでした。

とどのつまり、外部ベンダーから送られてきていたアカウント情報が間違っていたというオチでした。。それはまさか無いと思っていたので、残念です。。

‥が、しかし、今回皆さまにアドバイスをいただき、新しい知識や今まで知らなかった対処法を知ることができ大変勉強になりました。改めて感謝申し上げます、どうもありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Git

    1169questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • SSH

    519questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

  • FTP

    304questions

    FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

  • Server

    90questions