人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

linux のscpについて相談させてください。

現在、画像データを1日1回gzに圧縮しバックアップをとっています。そこでこのgzファイルを別サーバへ転送したいのですがうまくいっておりません。

サーバA(gzファイル) → サーバBへ転送

サーバBへはwinscpでログインできております。(ルートログイン禁止)

サーバBのログイン設定

■winscpの設定
ユーザー名 hoge
パスワード xxx
port 10022
ppkファイル


サーバB側には hoge ユーザのディレクトリに.ssh(chmod700)、authorized_key(chmod600)がセットされています。こちらで問題なく自分のデスクトップからはログインできているのですが、サーバA側からscpコマンドでログインしようとすると以下のエラーがでます。

サーバA側には/rootにppkファイルを置きました。chmod600

コマンドは
scp -i /root/ppkファイル -p 10022 転送したいファイル hoge@サーバB側のIP:置きたいディレクトリ hoge@サーバB側のIP's password:hogeパスワード

コマンドが間違っているのか、キーのchmodが間違っているのかわからないのですが。。。

scpのコマンドミスなのかわからず、どなたかご教示いただけますと助かります。

よろしくお願いします。

●質問者: aiueo
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● defy1
●100ポイント

> scp -i /root/ppkファイル -p 10022 転送したいファイル hoge@サーバB側のIP:置きたいディレクトリ hoge@サーバB側のIP's password:hogeパスワード

これには2点問題があります。

  1. /root/ppkファイル
  2. password:hogeパスワード

1についてはppkファイルをOpenSSH形式の秘密鍵に変換したものを指定する必要があります。
参考: 試験管のなかのコード :: Putty の鍵 (*.ppk) を OpenSSH 形式に変換する方法をメモ

2については、コマンドラインにパスワードを指定することは不可能なので、この記述を消去し、

  1. 手入力する
  2. パスフレーズなしの鍵で認証を行う 参考:@IT:sshでパスワードなしにログインするには
  3. expectを使う 参考: scpとsshのパスワード認証を自動化 | 超兄貴の開発メモ

のいずれかの方法により対応可能です。


aiueoさんのコメント
ありがとうございます。Opensshにputtygenで変換して再度アクセスしてみましたが [root@接続元 ~]# scp -i /root/.ssh/xxx.ppk -p 10022 /home/imagebackup/120117.tar.gz hoge@接続先:/tmp ssh: connect to host 接続先 port 22: Connection refused lost connection と出てしまいました。10022でsshd.conf設定してあるのですがなぜか22とでてしまっているみたいですが。。。

aiueoさんのコメント
クライアントもリモート側も iptables -L ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:10022 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh となっているのですが。。

aiueoさんのコメント
すみません、 -p が-P と大文字になっていないことが原因でした。。大変失礼しました。。

2 ● kodairabase
●100ポイント

scpではコマンドラインにパスワードを書くことはできませんので、以下のようにスクリプト化すると良いでしょう。

scpでパスワードを自動化

http://stackoftips.blog79.fc2.com/blog-entry-32.html


aiueoさんのコメント
こちらありがとうございます。cronとあわせて利用してみます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ