- PR -

SFTPでの接続

1
投稿者投稿内容
kmasa
会議室デビュー日: 2007/10/16
投稿数: 3
投稿日時: 2007-10-16 20:31
OS:Turbolonex

SFTPをコマンドでサーバーにログインする事はできるのですが、
シェルに書き込んで起動するとパスワードの要求が入力待ちとなります。
ここでパスワードを入力するとシェルが再開されます。

SFTPの記述が間違っているのかも知れません
色々調べましたが答えがわからず困っています。
SFTPサーバーへシェル起動でファイルのGETをやっておられる方、
その方法を教えて下さい。


zume
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 93
投稿日時: 2007-10-16 22:08
こんばんは。

シェルに書き込んで利用するのであれば、scpの方が向いている気がします。

どうしてもsftpという事なら、expectやautoexpectを調べて見てください。
AOFG
会議室デビュー日: 2007/09/07
投稿数: 11
投稿日時: 2007-10-16 22:53
自分もssh/scpを使っていて、
パスワード/パスフレーズを単純には標準入力から入れられないことを知りました。

sftpはscpと同じで出来るのか分からないですが、
ssh-keygen で鍵ペア(パスフレーズは空)を作ってそれを使う、
というのはどうでしょうか。

あとはzumeさんも言っている通りexpectは確実だと思います。

もうひとつはssh-agentを使って最初だけは人の手でパスワード/パスフレーズを入れて、
それ以降はパスワード不要にするとかはどうでしょうか。
kmasa
会議室デビュー日: 2007/10/16
投稿数: 3
投稿日時: 2007-10-17 17:49
ご回答ありがとうございます。

EXPECTについて調べておりますが難しいですね
YAHOOで検索してサンプルを探しているのですがよいのが見つかりません。
EXPECTの解説ページもよくわかりませんが、やりたいことができるのはわかりました。

SFTPでのEXPECTのサンプル等がありましたらお願いします。
kmasa
会議室デビュー日: 2007/10/16
投稿数: 3
投稿日時: 2007-10-17 20:12
こんな書き方をしています。

-----------------------------------------------
#!/usr/bin/expect -f
set passwd "testpass"
log_user ()
spawn sftp hoge@192.168.1.1
send $passwd\n
-----------------------------------------------
1

スキルアップ/キャリアアップ(JOB@IT)