ユーザーの操作なしで(非対話型)スクリプトでsftpを使用するため。たとえば、匿名のftpサーバーにログインし、手動でログインする必要はありません。
4 に答える
コンピューター上
cd ~/.ssh
ssh-keygen -t dsa
プロンプトごとにEnterキーを押します
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
ad:98:43:13:c9:ea:66:8e:d0:d9:66:59:d8:3a:f7:29
The key's randomart image is:
+--[ DSA 1024]----+
| |
| . . |
| + |
| + . . |
| o = S . |
| . + = + . |
|. o @ = . |
| . B oEo . |
| . . .o |
+-----------------+
id_dsa
2つのファイルを取得し、 id_dsa.pub
scpまたはその他のユーティリティを使用してファイルをサーバーにコピーします
scp ~/.ssh/id_dsa.pub user@host:~/.ssh/
サーバー上
新しいキーをファイル〜/ .ssh/authorized_keysに追加します。
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
最後にアクセスモードを変更します。
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
アクセスモードが〜に対して正しいことを確認します
ls -ld ~
そうでない場合は、使用できます
chmod 700 ~
ホームアクセスを修正します。
ログアウトして再度ログインする
次のコマンドを入力します
ssh-keygen
プロンプトが表示されるまでEnterキーを押します
ssh-copy-id -i root@ip_address
(一度ホストシステムのパスワードを要求されます)
ssh root@ip_address
これで、パスワードなしでログインできるはずです
ログインごとにパスワードを入力せずにsshログインを許可するには、ターゲットサーバーの〜/ .ssh/authorized_keysファイルに公開sshキーを追加します。公開鍵は〜/ .ssh / id_rsa.pubにあります。存在しない場合は、生成する必要があります。
詳細な回答はこちらをご覧ください
ftp スクリプト ファイルを使用して ftp を実行するときに、ファイルの転送ごとに YES/NO の質問をする SFTP をオフにしたい場合は、-n -i
コマンド ライン引数を使用できます。
ftpscript.in
-----------------
user username pwd
get sourcefile targetfileonlocal
bye
ftp -n -i servername<ftpscript.in
次に、「ソースファイルを転送しますか?y/n」のような質問を避けるために、このスクリプトを実行できます。ユーザー名、パスワードなしで ftp サーバーにログインするには、Wesley が述べたように、サーバーの ftp で匿名ログインを許可する必要があります。