プロが教える店舗&オフィスのセキュリティ対策術

Linuxをまだ勉強中の身なので教えてください。
Linuxでファイルを実行すると、他のサーバー(AIX)にFTPで接続してその中のホームディレクトリの下にあるファイルをすべてコピーしてくるなんて事はできるのでしょうか?
もしできるとして、そんな仕様のバッチファイルをWindowsで作成しておいてLinux上で実行させることも可能なのですか?

A 回答 (5件)

こんばんは。



一括して全ファイルをgetするには2通りのやり方があります。
複数のファイルをgetする場合はサブコマンドに"mget"を使います。
ただし、特に何も指定しないと対話形式になってしまいます。
(1ファイルgetする毎にEnterしなければいけません。)

◎1つ目
FTPコマンドを-iオプションを付けて起動する。
○Linuxの場合は、
ftp -i -n < ZZZ host
○Windowsの場合は、
ftp -i -n -s:ZZZ host
となり、
"ZZZ"の内容は、
cd AAA
mget BBB
となります。


◎2つ目
ftpのサブコマンドで"prompt"を実行する。
(ftpコマンドには-iオプションを付けない。)
"ZZZ"の内容は、
prompt
cd AAA
mget BBB
となります。

お気に召した方を試してみてください。
 

参考URL:http://www.linux.or.jp/JM/html/netkit/man1/ftp.1 …
    • good
    • 0
この回答へのお礼

ありがとうございます。
それぞれのやり方で試してみてできました。

お礼日時:2002/04/28 01:50

> scpもsshも『Secure connection to サーバー名 refused』


> と出てしまうのですが何が原因なのでしょうか?

接続を拒否されています。恐らく,AIX上でsshのサービスが動いていないのでしょう。残念です。セキュリティ的には ftp より ssh, scpの方が優れているため,使えるならこちらの方ががお勧めなんですよ。
ちなみに,sftp という ftp そっくりのものもあり,これら,ssh, scp, sftp は全て sshのサービスを利用します。

> rcpはホームページなどを見ると『推奨できません』のような
> コメントがあるのですが使用してみても大丈夫なものですか?

その『rcpが推奨できません』というのは,セキュリティ上の観念からです。このrcpのセキュリティ問題を回避する場合は,AIX側でrshデーモン(rcpはrshサービスを使います)を停止せねば駄目です。
ですから逆に,クライアント側,Linux側から rcpを試す分には問題ないですよ。rcpの利用が危険な環境ならば,sshのように,接続を拒否され rcp も使えないはずですから。

# もし,rcpが危険な環境でrcpを使えたら…
# そんなときは,AIXの管理者にツッコミを入れましょう。
    • good
    • 0

ftpではなく,rcp(rsh)やscp(ssh)を利用できれば,ものすごく簡単なんですが…


AIXに対して,rsh や ssh は使えませんか?

AIX_HOMEというディレクトリにコピーする場合
rcp, scpを使うなら
$ scp -r remote_user@remote_host:. AIX_HOME
$ rcp -r remote_user@remote_host:. AIX_HOME

ちょっとややこしいですが,rsh や ssh では同じものがこのようになります。
$ mkdir AIX_HOME; rsh remote_user@remote_host tar -cf - . | tar -C AIX_HOME -xf -
$ mkdir AIX_HOME; ssh remote_user@remote_host tar -cf - . | tar -C AIX_HOME -xf -

>そんな仕様のバッチファイルを
Windowsのバッチファイルのようなもののことを,Linux/AIXではシェルスクリプトと呼びますね。 このシェルスクリプトの作成方法ですが,以下の通りです。

その1:テキストファイルを作成し,一行目に

#!/bin/sh

と書く。二行目以降には,実行したいコマンドを書き連ねる。

その2:保存したファイルに
$ chmod 700 [ファイル名]
のコマンドなどで実行権をつける。

以上で,できあがり。

例えば,scpのコマンドでシェルスクリプトを作るなら,内容はこのようになります。
-------------------------------------------
#!/bin/sh
scp -r remote_user@remote_host:. AIX_HOME
-------------------------------------------

この回答への補足

scpもsshも『Secure connection to サーバー名 refused』と出てしまうのですが何が原因なのでしょうか?

rcpはホームページなどを見ると『推奨できません』のようなコメントがあるのですが使用してみても大丈夫なものですか?

補足日時:2002/04/18 14:22
    • good
    • 0

こんにちは。



>>FTPサーバからコピーする内容を書いたファイル
とは、FTPのサブコマンドで入力することを書きます。
つまり、通常ftpコマンドを実行し、
ftp>
が出てきた後に実行する内容です。

仮にホームディレクトリの下に"AAA"というディレクトリがあり、
その中に"BBB"というファイルがある場合、
"ZZZ"の内容は、
cd AAA
get BBB
となります。

下記URLにLinuxのftpコマンドの使い方が載っています。
(Windowsのftpコマンドとは、多少。。。異なります。念のため。。。)

参考URL:http://linux.nikkeibp.co.jp/command/ftp.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいたとおりでできました。
そこでもう一つお聞きしたいのですが、ログインしたディレクトリ内のすべてのディレクトリやファイルをgetしたいのです。
その方法ってありますか?

お礼日時:2002/04/18 11:40

こんにちは。



FTPサーバからコピーする内容を書いたファイルを作成し仮にZZZとすると、更に
○Linuxの場合は、
ftp -n < ZZZ host
と書いたファイルを仮にXXXとする。
○Windowsの場合は、
ftp -n -s:ZZZ host
と書いたファイルを仮にXXX.batとする。
そしてXXXを実行すれば、お望みのことができると思います。

この回答への補足

返答ありがとうございます。
質問なのですが、
>FTPサーバからコピーする内容を書いたファイル
というのは、コピーしてくるファイルのことなのでしょうか?それとも、コピーしてくるファイルの場所などの情報を書いたものなのでしょうか?
もしその場合は書き方も教えていただけますか。何から何まで初心者で申し訳ありませんが、よろしくお願い致します。

補足日時:2002/04/17 13:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!