sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

序文

sshパスワード不要のログインに使われるものだと思っていた人も、私も含めて何人かいたと思います。実は、ssh には sftp/scp/winscp など、ssh と切り離せないものがたくさんあります。それでは本文に入りましょう。

SSHとは何か

ssh は遠程加密傳輸協議であり、いわゆるパスワードフリーログイン機能ではありません。それはほんの一部です。https httpsような暗号化プロトコルとして理解していただければ、セキュリティの向上に役立ちます。こちらのほうがわかりやすいでしょうか。
さらに、SSHはWindows、Linux、Macなどの多くのシステムに組み込まれています。

ssh は何に使用されますか?

SSH はリモート アプリケーションを強化します。これは、FTP、POP、Telnet などの従来のリモート プロトコルに代わるものです。これらのプロトコルは本質的に安全ではありません。プレーン テキストでデータを送信し、仲介者に簡単に盗まれます。SSH プロトコルはこれらの問題を解決できます。リモート送信中にデータに暗号化保護のレイヤーを追加し、攻撃者がデータを解読することを困難にします。これが、後にsftp / scp / winscpなどのプロトコルが導入された理由です。これらはすべてsshに基づいて作成されています。たとえば、 sftpは従来のリモート ファイル プロトコルftpの安全なバージョンです。

sshの使い方

個人的には、これを遠程工具と呼ぶことを好みます。これは、ssh コマンドを介してリモート サーバーにログインし、ローカル ホストとサーバー ホスト間でデータを転送および暗号化するのに役立ちます。

1. パスワードログイン

コマンドは以下のとおりです

// フォーマット ssh user@host
// 例 ssh [email protected]

上記のコマンドを入力すると、ssh はリモート サーバーのパスワードを入力するように要求します。正しいパスワードを入力すると、リモート サーバーにログインして対話を開始できます。また、サーバー パスワードはログインするたびに入力する必要があるため、基本的には 2 番目の方法である公開キー ログインが使用されます。

ヒント: パスワード ログインは、実際には以前の「中間者」攻撃の問題を解決します。以前の ssh ログインでは、パスワードを直接入力してサーバーに入ることができましたが、仲介者はサーバーのふりをしてクライアントと対話してパスワードを取得し、このパスワードを使用して実際のサーバーと対話することができました。これはいわゆる「中間者攻撃」です。その後、この問題を解決するために口令登錄が登場しました。リモート ホストに初めてアクセスするときに、積極的に指紋を送信します。この指紋サーバーからのものです。この時点で、サーバーの指紋この指紋と一致しているかどうかを確認できます。一致している場合は、はいと入力するだけです。つまり、パスワード ログインは、実際のサーバーであるかどうかを識別できるようにするオプションを提供します。

2. 公開鍵ログイン

公開鍵ログインの機能は、いわゆる免密登錄です。使い方も非常に簡単です。サーバーの~/.ssh/authorized_keysファイルに公開鍵を入れるだけです。次回ログイン時には、パスワード認証なしで直接サーバーに入ることができます。

1. 公開鍵を持っている場合は、秘密鍵も必要です。これらはペアになっており、秘密鍵とも呼ばれます。デフォルトでは、 .ssh/ディレクトリに配置されます。秘密鍵を生成するコマンドは次のとおりです。

ssh-keygen -t rsa -C "あなたのメールアドレス" 

生成プロセスでは、パスワードの入力を求められます。このパスワードは、キーが他人に盗まれるのを防ぐための追加の保護層となります。このパスワードが不要な場合は、Enter キーを押し続けてください。

パスフレーズを入力してください (パスフレーズがない場合は空白):

その後、~/.sshに2つのファイルが自動的に生成されます: id_rsa秘密鍵 / id_rsa.pub公開鍵

2. 秘密鍵id_rsa管理用のssh-agentに送信する

sshエージェント ~/.ssh/id_rsa

ssh-agent 機能: キーにパスワードが設定されている場合、ログインするたびにパスワードを入力する必要があり、非常に面倒です。この問題を解決するためにssh-agentが使用されます。このコマンドでエラーが表示される場合は、起動していない可能性があります。git/linux で次のコマンドを入力すると、ssh-agent を起動できます。

`ssh-agent` を評価する

3. id_rsa.pubの内容をサーバーにアップロードします~/.ssh/authorized_keys

アップロード方法1: ssh-copy-idツールを使用する

ssh-copy-id -i id_rsa ユーザー@ホスト

アップロード方法2: 手動コマンドアップロード

$ cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

上記のコマンドで、 user@hostを自分のものに置き換えるだけです。これで、パスワードなしでサーバーにログインできるようになります。

ssh 再修正

ssh はパスワード不要のログインを実装するために特別に使用されるわけではありません。それは氷山の一角にすぎません。ssh は主にリモート操作に使用されます。 ssh は、提供されるコマンドに従ってリモート サーバーと対話します。この対話中に、送信を暗号化するのに役立ちます。これは、做遠程加密傳輸協議。https https似ていると考えることができますが、 https

さて、今のところはこれですべてです。ご質問がある場合は、以下にメッセージを残してください。

要約する

これで、SSH とは何かについてのこの記事は終わりです。使い方は?どのような誤解があるのでしょうか?この記事はこれで終わりです。関連する ssh の誤解については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • ブルートフォース攻撃を防ぐためのシェルスクリプト設定
  • SSH ポート転送とは何ですか?何の役に立つの?
  • Linux リモート管理と sshd サービス検証の知識ポイントの詳細な説明
  • Centos8環境でSSHポート番号を変更する方法
  • SSH リモート管理サービス

<<:  .htaccess を使用して特定の IP からの Web サイトへのアクセスを禁止する方法

>>:  html2canvas を使用して HTML コードを画像に変換する方法

推薦する

MySQL での r2dbc の使用に関する詳細な理解

導入MySQL は、私たちが日常業務で使用する非常に一般的なデータベースです。MySQL は現在 O...

HTMLのテーブルタグの基本学習チュートリアル

表ラベルの構成HTML 内の表は <table> タグで構成されており、ブラウザはタグを...

MySQLの高性能最適化スキルの概要

データベースコマンド仕様すべてのデータベース オブジェクト名には小文字を使用し、アンダースコアで区切...

Vue のライフサイクルとフック関数

目次1.ライフサイクルとは何か2. Vueのライフサイクル3. ライフサイクルフック関数1.ライフサ...

Typescript での infer キーワードの使用に関する詳細な理解

目次推測する事例:理解を深める参照する後で忘れないように、キーワード infer をメモしておきます...

HTMLポップアップ透明レイヤーインスタンスのサイズを設定でき、比例することができます

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

Vue の高度な使用方法チュートリアル 動的コンポーネント

目次基本的な説明AST 解析レンダリング機能通常コンポーネントと動的コンポーネントの比較ファクトリ関...

ウェブページでよく使用される共有コードの完全なリスト(フロントエンドに必須)

コードをコピーコードは次のとおりです。 1. 新浪微博<a href="http:/...

Centos6.5 で MySQL 5.7.19 をインストールして設定する方法

Centos6.5にmysql5.7.19をインストールするための詳細な手順は次のとおりです。 1....

MacでDockerがホストマシンにpingできない問題を解決する

解決Docker for Macに付属するLinux仮想マシン(軽量ですが、ソケットファイルを使用し...

JavaScript シミュレーション計算機

この記事では、JavaScriptシミュレーション計算機の具体的なコードを参考までに紹介します。具体...

CentOS サーバーのセキュリティ構成戦略

最近、ブルートフォース攻撃によるサーバのクラッキングが頻発しています。侵入行為を大まかに分析し、よく...

Windows システムに MySQL を素早くインストールして展開する方法 (グリーンの無料インストール バージョン)

まずは緑色の無料インストール版のMySQLをダウンロードします。任意のフォルダに入れて構いません。今...