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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

FTP

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

Linux

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

Q&A

解決済

2回答

2110閲覧

サーバーとのファイルをやり取りについて

yuki_90453

総合スコア326

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

FTP

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

Linux

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

0グッド

0クリップ

投稿2017/02/13 13:39

いつもお世話になっております。

ローカル環境からサーバーへアップロードする際、Transmitというクライアントソフトを利用しています。
rootへ直接ログインが出来ないようになっているのでクライアントでは一般ユーザーでログインしファイルのやり取りを行っています。
しかし、これではアップロードしたファイルの権限及び、所有者が一般ユーザーになってしまい問題があるのでアップロード後、SSHで権限、所有者の変更などを行っています。
ターミナルからファイルを送る方法もありますがファイル数が多くなるとミスが増えてしまうと思います。

私の方法では2度手間ですし、もっと賢く出来る方法があると思うのですが、先輩方はどのようにサーバーとファイルをやり取りしているのでしょうか?

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

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

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

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

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

takepieee

2017/02/14 02:16

一般ユーザでアップロード後、そのファイルをroot権限にしているのですか?
ikedas

2017/02/14 04:09

ファイルの所有者をrootにしなければならない理由はなんですか。
guest

回答2

0

TransmitでググったらMac向けのシェアウェアがヒットしましたが、あなたのローカル環境=Macなのでしょうか?

私はMacを使った経験および使う予定が無いので一般論になりますが、以下のような方法を思いつきます。

  • Linuxで解凍可能なアーカイバで1つのファイルにまとめて送る(tarが最も無難でしょうね)
  • 同期系の転送ソフトを使う(lftpとかrsyncとか)
  • 一度に1つしか送れないソフトを使わざるを得ないならスクリプトを書いてバッチ化する
  • 共有フォルダを経由する (cifsとかwebdavとか)
  • 共有サービスを経由する (google driveとか)

また発想の転換で現状の「ローカル」と「サーバ」を逆転させる、つまり「ローカルからサーバへ送る」のではなく「ローカル側で共有フォルダを公開してLinuxから取得する」、「ローカル側でFTPサーバを立ててLinuxからログインする」とかいった考え方もありですね。

投稿2017/02/13 15:26

編集2017/02/13 15:27
....

総合スコア102

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

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

yuki_90453

2017/02/15 02:52

回答ありがとうございます。 回答者様は、どのようにサーバーにファイルをアップしているのでしょうか? それともサーバー上でファイルを編集しているのでしょうか?
guest

0

ベストアンサー

自分もいちいち一般ユーザーで転送してる人ですが。

sshdって

PermitRootLogin without-password

とかに設定すると、Rootユーザーのリモートログイン時に「パスワード認証」は蹴られるけど「公開鍵認証」は出来たりしますよね。
Transmitで接続する際にも公開鍵認証にすれば…

いや、推奨はしませんよ?しませんけどね?

投稿2017/02/14 04:52

kanbeworks

総合スコア829

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

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

yuki_90453

2017/02/14 05:01

Transmitは認証鍵で使えないんですよ。 どうもサーバーが対応してないようで。
yuki_90453

2017/02/14 06:44

対象のサーバーがACE01かどうかはわからないんですが、この記事にある通りPEM形式で登録しても同様のダイアログが出てしまうので、対応してないのではと考えています。
kanbeworks

2017/02/14 06:58

TransmitではPEM形式の証明書じゃないと駄目ですよーという例で出したサイトさんなので、ACE01かどうかはお気になさらず… sshdの設定が公開鍵認証を許可してないとも考えられますが。 接続先のサーバーの`/etc/ssh/sshd_config`の設定変更をして、sshdサービスを再起動するとか、そういった権限は無い感じでしょうか。 ※技術的に「出来る」と、ポリシー的に「出来る」の2点は気にしないといけないですが。
yuki_90453

2017/02/14 07:25

権限の方は私が管理しているの問題なく行えます。 クライアントソフトで鍵認証でアクセスする事は何か問題があるのでしょうか?
kanbeworks

2017/02/14 07:37

公開鍵認証とはいえ、rootユーザーがサーバーに直接ログイン出来るのはセキュリティポリシー的にNGとか、そういう問題がないかという点が気になりましたが。 そのような問題がないという前提で。 1. サーバー側の`/etc/ssh/sshd_config`の最後に`PermitRootLogin without-password`という設定を追加する。 ※既存の設定で`PermitRootLogin no`があればコメントアウトで。 2. `service sshd reload`で設定を有効にする。 3. 公開鍵と秘密鍵のペアを作成する。 ※前述のサイトさんとかを参考に。 4. Transmitからrootユーザーとして公開鍵認証でログインする。 という感じでしょうか。
yuki_90453

2017/02/14 09:45

よく考えればrootへの直接アクセスを禁止していました、それで鍵認証が出来なかったんでしょうね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問