scpは許可し、sshは許可しない方法

scpは許可し、sshは許可しない方法

私はMac Book Pro(fooという名前)で作業しています。クライアントが大容量ファイルを転送するサーバーがあります。 (望む)私はしばしばバーにsshを接続し、ファイル(バズと呼ばれる)を私のMacにscpします。

bob@foo$ ssh bar  
Last login: Fri Aug 23 14:49:32 2013 from foo  
bob@bar$ scp /guest/buzz bob@foo:~
Password: 

ファイルをMacに再度scpするたびにパスワードを入力したくありません。なぜなら、自動的にパスワードを入力することになるからです。
私は自分を知っていますできるbarSSHキーを設定しましたが、誰かがキーをクラックすると簡単にアクセスできるか心配ですfoo(間違っている場合は訂正してください)。

サーバーが破損している場合は、パスワードなしで誰かにMacへのフルシェルアクセスを許可せずにbarからfooにファイルをコピーする方法はありますか?

注:私のMacで新しいユーザーを設定し、そのユーザーのシェルアクセスを無効にすることを検討しています。可能動作しますが、より良い方法があると思います。可能であれば、ユーザーを追加しないことをお勧めします。

ベストアンサー1

まあ、あなたは台無しだった。

私が理解したところによると、あなたはファイルをコピーしたいだけです。バー到着金持ち:

[file]  *bar* ------copy------> *foo*

これを行うには、最初にすべきsshことバーその後、scpファイル金持ち:

        *bar* -------ssh------> *foo* [file]

それから:

        *foo* ----scp[file]---> *bar*

こうすればこうなる安全ではなく、間違っている。あなたがしなければならないのは、ファイルを直接scpして再びあなたに送るだけです:

bob@foo$ scp bob@bar:/guest/buzz ~

言い換えれば:

        *foo* <---scp[file]---- *bar*

今、解決しなければならないいくつかの問題があります。

ファイルがどこにあるかはどうすればわかりますか?

a) 他の端末で SSH を使用する

2番目の端末を開き、SSHを実行してください。バー、ファイルを見つけて、最初のファイルのパスをコピー/貼り付けます。

b)SFTPを使用する

SFTP(FTPまたはFTPSとは無関係!)はOpenSSHで実装されており、デフォルトで利用可能です。 SFTP経由でサーバーに接続し、FTPに似たコマンドを使用してファイルとそのget内容を見つけます。

c) グラフィカルユーザーインターフェースの使用

たとえば、FilezillaまたはNautilusはリモートSFTP / SSH共有を参照できます。

d) 証明書の設定

証明書接続を確立すると、ローカル側だけでなくリモート側でもタブを完成させることができます。たとえば、あなたの例buzzに応じて、次のことができます。

bob@foo$ scp bob@bar:/guest/[tab][tab]

しばらくすると、リモート/guest/フォルダに含まれているファイルの一覧が表示されます。

証明書でSSHを設定するには?

a) まだ完了していない場合は、プライベート RSA 鍵ペアを生成します。

OpenSSHクライアントがすでにインストールされている場合は、次のように入力してこれを実行できます。

bob@foo$ ssh-keygen -t rsa

(利用可能なすべてのオプションについては、マニュアルまたはオンラインを確認してください)。パスワードを入力するように求められます。これは、ローカルアカウントのパスワードではなく、暗号化に使用できるオプションのパスワードです。秘密鍵あなたは産卵しようとしています。

効果的に次の2つのファイルを生成します。

  • /Users/[ユーザー名]/.ssh/id_rsa
  • /Users/[ユーザー名]/.ssh/id_rsa.pub

最初の *id_rsa* は次のようになります。プライベート。デフォルトでは、インプレッションを避けるためにすべてのssh-keygen努力をします(ファイルシステムアクセスを使用)。だから(オプション)パスワードも尋ねるのです。これについて心配しないでください。 *id_rsa* ==秘密鍵==を覚えておいてください。プライベート。このキーは絶対コンピュータから離れてください。

2番目は公開です。この公開証明書から秘密鍵を取得するには、多くのコンピュータのパフォーマンスが必要です。意味はへへ)。世界と共有することは完全に安全です。 NSAや同様の機関が実際に公開鍵を解読するために何百万ドルを費やそうとする非常にまれな場合でも、MacBookは依然として安全です...(またはそうでないかもしれません。 . あなたは安全な側にあります)問題:)

この公開証明書は、実際にリモートサーバーに配置する証明書です。バー

b) 公開証明書をサーバーに入れるには?

2つのオプション。

  1. ssh-copy-id利用可能な場合は、以下を使用してくださいbob@foo$ ssh-copy-id bob@bar。完璧。
  2. の場合いいえ~/.ssh/id_rsa.pubにコピーバー:

    bob@foo$ sftp ~/.ssh/id_rsa.pub bob@bar:pub_cert

(ここでは、id_rsa.pub個人用フォルダの公開証明書をリモートコンピュータにコピーします。.ssh/~バーユーザーのホームフォルダから単発。これがデフォルト設定です。また、このプロセス中に名前がid_rsa.pub変更されました。私はそれが正確に)として使用できることを示すためにpub_cert行きました。sftpscp

次に、証明書を正しい場所にコピーします。

bob@foo$ ssh bob@bar

今Bobのプライベートフォルダにあります。バー

bob@bar$ cat pub_cert >> .ssh/known_hosts

cat(ここを使ってpub_cert.ssh/known_hostsの内容を表示します>。これは>>「既存のファイルの末尾にストリームを追加します」を意味します)。

C)結果は?

今あなたはscp//sftp行くことができますsshバーパスワードを入力しなくても自由に使えます。 [tab]キーを使用してローカルパスとリモートパスをオートコンプリートすることもできます。

d)私のMacはどのくらい安全ですか?

これにより、コンピュータでSSHサーバーを実行する必要さえありません。 SSHクライアント(scp//プログラムsftp)は1つだけですssh。これはあなたにとって安全です。バーダメージを受けました。

e) この鍵/証明書で正確に何をしましたか?

まず、秘密鍵や公開証明書など、いくつかのファイルを生成します。これにより、セキュリティと認証に関連する多くのタスクを実行できます。しかし、私たちのケースでは、かなり単純化され、次のように使用されます。

に接続しようとするとバー、接続に使用できる証明書を取得したことを通知します。 バーを含むシステムのさまざまな場所を確認し、~/.ssh/known_hostsあなたが発行した証明書を見つけて暗号化されたデータを転送するために使用します。

公開証明書は実際に物事を暗号化することができます!

今これは素晴らしいですが、どうすればいいですか?金持ち明らかな?秘密鍵を使用してください。

秘密鍵は、その公開証明書で暗号化されたコンテンツを復号化できます。

これを非対称暗号化と呼びます。

その後、デフォルトでは、サーバーは公開証明書を使用して暗号化された複雑なパスワードを送信します。これを受け取り、秘密鍵で復号化した後、それを使用してサーバーと双方向のデータを暗号化し始めます。


さて、本当に自分のやり方で仕事をしたい場合は、SCPに戻ってください。金持ち

あなたはただ問題を求めています。ただし、損傷の影響を軽減するためにchroot専用サーバーを設定できますSFTP。これ以上は機能しscpませsshんが、sftpFilezillaやその他の機能は機能します。

引用:https://www.allthingsdigital.nl/2013/05/12/setting-up-an-sftp-only-account-with-openssh/

おすすめ記事