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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

10960閲覧

SFTP接続が全く分かりません。。

ShunYoshizawa

総合スコア103

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2016/11/15 06:51

今までサーバ接続を行う際にFTP接続でしか対応したことがなく、今回初めてSFTP接続で対応することになりました。

そこでインターネットで色々調べたのですが、全然分かりません。。
公開鍵、秘密鍵、、などという言葉があったのですが、全然わかりません。。

そこでもし0から教えていただける方がいれば教えていただけるととても助かります。。

情報といたしましては、
・PCはMacを使用しています。
・IPアドレス、ユーザーIDはクライアントからいただいております。(パスワードはなしで大丈夫そうです。)
・「接続には、添付の秘密鍵ファイルをご利用ください」ということで、『.ppkファイル』がクライアントから送られてきました。
・サーバ接続にはcyberduckを使用しています。

もしその他情報が必要であれば情報追加させていただきますので、コメントしていただけたら幸いです。。

よろしくお願い致します。。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

SFTPはSSHを用いてファイル転送を行うプロトコルです。なのでSFTPの仕組みが知りたければSSHを理解しなければなりません。

sshとは・・・ (Wikipediaからコピペ)

Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。

FTPを平文で通信を行うため、インターネット越しに使ってしまうとその通信が盗聴されていればユーザ名やパスワードが漏れ、誰でも簡単にそのサーバにアクセスすることが可能となります。
対してSFTP(SSH)を使うと通信が暗号化されるため、もし盗聴されてしまっていてもユーザ名・パスワードは漏れにくくなります。

FTPはユーザ名、パスワードがあれば接続できます。それに対してSSHには複数の認証方法があります。

  1. パスワード認証

その名の通り、ユーザ名とパスワードを用いて認証を行う方法です。通信は暗号化されているのですが、別の経路からユーザ名・パスワードが漏れると簡単に侵入されてしまい危険です。

  1. 公開鍵認証

鍵をサーバとクライアントに用意し、その鍵とユーザ名、パスワード(今回は必要ないみたいですね)を使って認証を行う方法です。秘密鍵ファイル(.ppk)を持つ端末しか認証が通らないため、非常に強力です。

今回、クライアント様から秘密鍵ファイルを渡されたということは、2の方法で認証を通すことになります。本来は公開鍵・秘密鍵をクライアント側が生成し、サーバに公開鍵を登録しなければなりませんが、その作業はクライアント様がやってくださっていると思います。

以下、Cyberduckで公開鍵認証を使ってSFTPでファイルをやり取りする方法です。

  1. Cyberduckを起動し、左上の「新規接続」をクリック
  2. プロトコルを「SFTP」に変更し、「サーバ」にドメイン名(またはIPアドレス)、「ポート」は指定がなければそのまま、「ユーザ名」に指定のユーザ名を入力する。今回は「パスワード」は空でOK。
  3. 最下部にある「詳細設定」をクリックし、「公開鍵認証を使用する」にチェックを入れ、秘密鍵ファイル(.ppk)を指定する。
  4. 接続する。

恐らくこれで接続できます。

追記

over様のおっしゃる通り、Cyberduckでppkが扱えない可能性があるようです。鍵を変換するか、OpenSSH形式の鍵を新たにクライアント様から作っていただく必要があります。
homebrewをインストールされていれば、Windowsを使わずに以下のコマンドで変換することができます。

$ brew install putty $ puttygen 秘密鍵までのパス/秘密鍵ファイル.ppk -O private-openssh -o /鍵を置きたいところまでのパス(デスクトップとか)/id_rsa

投稿2016/11/15 08:03

編集2016/11/16 05:58
natady

総合スコア606

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShunYoshizawa

2016/11/16 04:44

ご丁寧にコメントしていただきありがとうございます! homebrewというのは http://brew.sh/ このページのインストールのコマンドをターミナルに入力して行うという認識であっていますでしょうか? またhomebrewをインストールにするにあたり、xcodeをインストールする必要があるとあったのですが、インストールはもちろん必要になりますでしょうか? 再度教えていただけると幸いです。。 宜しくお願い致します。
natady

2016/11/16 05:55 編集

その認識でOKです。AppStoreからXcodeをインストール後、Xcodeを実行してライセンス認証し、`xcode-select --install`を実行後にhomebrewをインストールしてください。
ShunYoshizawa

2016/11/16 05:55

ご丁寧にありがとうございます! かしこまりました! チャレンジしてみます!!!
natady

2016/11/16 06:05 編集

over様の回答に関するコメントでputtyのインストール手順のURLが貼られていますが、そこで使用されているMacPortsもhomebrewと同じパッケージ管理ソフトです。「Xcodeインストール->パッケージ管理ソフトインストール->パッケージ管理ソフトでputtyインストール」という流れは同じですね。今ではHomebrewが主流になりつつあるので、Homebrewを使用された方がいいかもしれません。
ShunYoshizawa

2016/11/16 07:07

かしこまりました! それではHomebrewを使用してやってみます! ありがとうございます! また何かあればご質問させていただきたいと思います! 宜しくお願い致します!
ShunYoshizawa

2016/11/17 03:40

度々質問してしまい申し訳ありません。 Homebrewのインストールまで終了し、「$ brew install putty」ここまでは完了しました。 しかし、ターミナルを使用するのが今回初めてなため、最後の「$ puttygen 秘密鍵までのパス/秘密鍵ファイル.ppk -O private-openssh -o /鍵を置きたいところまでのパス(デスクトップとか)/id_rsa」この部分のパス関係が分かりません。。 とりあえず自分の居場所を調べてみたところ「/Applications/Utilities/Terminal.app」ここにいました。 ここから一旦ダウンロードファイルまでのパスを書きたいのですが、どうやって書いたら良いでしょうか? とても初歩的な質問で申し訳ありません。。
natady

2016/11/17 04:18

いえいえ、逆に小難しいやり方しか紹介できずに申し訳ないです。 それではまず.ppkファイルをFinderを使って書類(Documents)ディレクトリのkeysディレクトリに置きましょう。keysディレクトリがなければ右クリックで作ってください。 そして以下のコマンドをターミナルで入力してください。キーボードのtabキーを入力中に押すと保管してくれます。 ``` puttygen ~/Documents/keys/秘密鍵ファイル名.ppk -O private-openssh -o ~/Documents/keys/id_rsa ``` これでOKなはずです。
natady

2016/11/17 04:19

保管→補完
ShunYoshizawa

2016/11/17 05:22

再度ご丁寧なご返信ありがとうございます。 改めてチャレンジしてみます。 何度もありがとうございます!! 接続できましたらベストアンサーにさせていただきたいと思います! 少々お待ちくださいませ。
natady

2016/11/18 00:21

何かエラーが発生するなどの問題がありましたら遠慮なくこちらにお書きください。
guest

0

以下にcyberduck を用いたSFTP接続の手順が掲載されています。
http://takeshiyako.blogspot.jp/2015/03/sftp-cyberduck.html

さて、ここで指定する秘密鍵ですが、もしかしたらcyberduckではppk形式に対応していないかもです。
もし接続できなかった場合は、接続元から配布されたppk形式の鍵を対応形式にコンバートしてあげる必要があります。

以下が参照になるのではないでしょうか?
http://blog.chocolapod.net/momokan/entry/64

コンバートが面倒な場合、ppk形式に対応したputtyであれば鍵のコンバートを行うことなく接続できます。
Windowsプラットフォームからの接続であればWinSCPも可能です。

投稿2016/11/15 07:52

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShunYoshizawa

2016/11/16 04:48

http://blog.chocolapod.net/momokan/entry/64 上記URLの最初の「puttygen コマンドをインストールする」のコマンドをターミナルに入力したところ「command not found」と出てきてしまいました。。 これは別途何かを行う必要がありますでしょうか? 再度教えていただけると幸いです。。 宜しくお願い致します!
over

2016/11/16 04:52

MAC版puttyをインストールする必要があります。
over

2016/11/16 05:45

Macの操作については疎いので、手順の評価はできません。すいません。 見た限りではインストールできそうです。
ShunYoshizawa

2016/11/16 05:55

ご丁寧にありがとうございます! チャンレジしてみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問