まず、このトピックに関する多くの質問があることをよく認識しています。私はそれらを読んだが、それでも私の状況に適切な答えを見つけることができた。シェルスクリプトでSCPを使用する際のパスワードプロンプトにどのように応答するのですか?
scp
全部~/cs###/assign1
シェルスクリプトを使用してローカルから学校のホームディレクトリに移動します。私の質問は、パスワードのプロンプトを待ってから、キーボードのイベントをシミュレートして自分のパスワードに「入力」する方法です。
hereキー
まず、このトピックに関する多くの質問があることをよく認識しています。私はそれらを読んだが、それでも私の状況に適切な答えを見つけることができた。シェルスクリプトでSCPを使用する際のパスワードプロンプトにどのように応答するのですか?
scp
全部~/cs###/assign1
シェルスクリプトを使用してローカルから学校のホームディレクトリに移動します。私の質問は、パスワードのプロンプトを待ってから、キーボードのイベントをシミュレートして自分のパスワードに「入力」する方法です。
hereキー
を設定する方法の詳細は本当にガイドで許可されていないSSHキーはありますか?それがより良い解決策になるでしょう。
ええ、それが鍵です。 :-) –
私はあなたが簡単にそれを行うことはできないと思います。あなたはになります。は、代わりに公開鍵認証を使用しています。これらの線に沿って
何か
ssh-keygen -t rsa
ssh school mkdir .ssh/
cat ~/.ssh/id_rsa.pub | ssh school "cat >>.ssh/authorized_keys"
(又はdsa
)。
でも、サーバーフォールトではありませんか? ;-)
サーバーとすべてが学校で設定されていましたが、私はその設定で制御できません – derrdji
これらの設定はホームディレクトリにあります。 –
キーまたは外部ライブラリの使用を検討してください。
私はそれが違う可能性はないと思います(私は間違ってはいけないと思います)。これはパスワードの自動ブルートフォース侵入とスニッフィングを課すためです。
libsshなど、SFTPプロトコルを使用してSFTPプロトコルを使用するライブラリがあります。
また、キーをお勧めします。
でも、ライブラリを使ってブルートフォース攻撃を自動化することができます;-) –
私の大学のWindowsラボで行われているAFS、NFS、SMBなどのWindowsマシンからディレクトリをマウントできる場合は、pscpを-pwスイッチとともに使用できます。
"-r"オプションを使用して再帰的にコピーするだけではどうですか?代わりにrsyncを使用しますか?
実際のユーザーアカウントを持っている限り、公開鍵認証を使用することもできます。 this
このような何か - http://code.google.com/p/enchanter/?
あなたは自宅や学校でどのプラットフォームを使用しているかは言わないでください。Linuxでは、Cygwinのか、OS/Xを仮定すると、あなたは、いくつかのオプションがあります:それは がサーバー
(1)、あなた
2番目のオプションとして、ssh-agentを使用すると、セッションごとに1回ローカルプロセスでパスワードをキャッシュできます。有効期限を設定しました
キーを使用することに同意します。しかし、expectはプレーンテキストのスクリプトファイルでパスワードをハードコードする場合、プロセスの対話的な側面を自動化できます。
「sshpass」を使用してください。
#!/bin/bash
sshpass -p "password" scp -r /some/local/path [email protected]:/some/remote/path
'sshpass'は面白そうです。 SSHキーでうまく動作しないシステムで作業してください。ありがとう! – JakeGould
すでに多くの人がsshキーを使用することが最も安全かつ最良の方法だと述べています。 誰かがまだ困っていて助けを求めている場合、Ubuntuのヘルプでは、早速、wayがsshキーを使用しています。
hereを説明するように、あなたがssh-keygen
を設定するとid_rsa
がssh-keygen
セットアップ中に生成されたローカルの鍵であり、あなたが
scp -i ~/.ssh/id_rsa /local/path/to/file [email protected]:/path/in/remote/server/
を行うことができます。あなたは毎回入力する軽減したい場合は、あなたがあなたの.bash_profile
ファイルを変更して、端末から次に
alias remote_scp='scp -i ~/.ssh/id_rsa /local/path/to/file [email protected]:/path/in/remote/server/
を置くことができます
はsource ~/.bash_profile
を行います。その後、端末にremote_scp
と入力すると、パスワードなしでscp
コマンドを実行する必要があります。
この質問はあなたの状況とまったく同じように聞こえます:http://stackoverflow.com/questions/50096/how-to-pass-password-to-scp – innaM
推定上の重複した質問への回答は 'sshキーBZに言及されているように。 –
シンプルなシェルコマンドまたはunixコマンドだけを使って解決策ができることを期待していました。 – derrdji