Linux と Windows はかつては敵対関係にありましたが、最近ではより仲良くなりました。実際、SSH を Windows でネイティブに使用することもできます。つまり、クライアントとサーバーの両方として使用できます。 Windows 管理者であるが、Linux マシンも管理する必要がある場合、どうしますか? Linux の (Secure Shell) SSH コマンドに慣れます!
これはブログ投稿シリーズ A Windows Guy in a Linux World のパート IV です。一般的な Linux の概念について詳しく知りたい場合は、パート I、パート II、パート III を確認してください。
この投稿では、Linux で SSH を有効にする方法と、リモートの Linux サーバーに接続するように Windows SSH クライアントを設定する方法についてすべて学びます。
注:すべての例で OpenSUSE Linux を使用します。
デスクトップ環境から離れる
このシリーズの最初の投稿に戻ると、チュートリアルでは KDE デスクトップ環境の使用が推奨されていました。 OpenSUSE のセットアップを行っていたときに、別の魅力的なオプションを目にしたことでしょう。 OpenSUSE のサーバー版。

ほとんどの Linux ディストリビューション (OpenSUSE を含む) のサーバー エディションをインストールしたことがある場合は、デスクトップがまったくないことに気付いたかもしれません。最も一般的なディストリビューション (OpenSUSE、Ubuntu Server、CentOS など) のサーバー エディションは、Windows Server Core のようなものです。デスクトップはありません。
Linux 文化でデスクトップが通常敬遠される理由を理解するには、CLI と SSH を理解する必要があります。
SSH:リモート管理のゴールド スタンダード
SSH は、他の多くのリモート管理プロトコルと同様に、クライアント サーバー ベースのシステムです。クライアントは、ネットワーク経由でサーバーにリモート接続し、コマンドを実行 (またはファイルを転送することさえ) できるようにします。 Linux をリモートで管理する場合、SSH はデファクト スタンダードです。
SSH は長い間使用されており、Linux エコシステムに深く組み込まれているため、コマンドライン管理ユーティリティが Linux サーバー環境を支配しています。ほとんどの Linux サーバー ディストリビューションにはグラフィカル インターフェイスがありません。
Linux での SSH コマンドの使用
十分な話。最初に OpenSUSE Linux で SSH を有効にして、SSH で何ができるか見てみましょう。そのためには、YaST パッケージ マネージャーを使用します。 OpenSUSE で YaST を使用して SSH を有効にするには:
<オール>sudo yast
を実行して YaST を開きます。 .alt+s
を押します SSH サービスを開始します。alt+r
を押してください 起動モードを手動から起動時に変更します。これにより、再起動後も SSH サーバー サービスが確実に開始されます。alt+o
を押してください ok
へ 変更を適用してください。これらの手順は、以下で実際に確認できます。

ファイアウォールを介した SSH の許可
ほぼすべての Linux ディストリビューションには、Windows と同様に保護するための何らかのファイアウォールが付属しています。 OpenSUSE のファイアウォールについては、こちらを参照してください。 Windows からリモートで SSH サービスにアクセスできるようにするには、ファイアウォールの通過を許可する必要があります。それを行うには:
<オール>sudo yast
を使用して YaST を再起動します。 .ssh
を見つけます ssh
を選択 スペースバーを押しながら alt+d
を押します 選択を追加します。alt+a
を押してください 変更を受け入れる上記のすべての手順を以下に視覚的に示します。

Windows と同様に、Linux にはファイアウォール ルールを適用するためのさまざまな信頼レベルがあります。これらのレベルはゾーンと呼ばれます。 Windows には、既定でパブリック ゾーン、ワーク ゾーン、およびプライベート ゾーンがあります。 Linux には他にも多くの機能がありますが、デフォルトでは public ゾーンになります。
Windows から Linux への接続
幸いなことに、最近の Windows 10 には SSH クライアントが組み込まれています。 Linux ホストに接続するには、コマンド プロンプト (cmd) または PowerShell コンソールを開き、接続するユーザー名と IP またはホスト名を指定します。
> ssh @
すべてがうまくいけば、SSH クライアントはフィンガープリントを受け入れるように要求するはずです。フィンガープリントは、誰かがターゲット IP アドレスをハイジャックしていないことを確認するための識別子です。
Windows 7 を実行している場合でも、Linux ホストに SSH で接続できます。ここから Microsoft SSH クライアントをダウンロードするだけです。この SSH クライアントは、Windows 10 が使用するものと同じです。
yes
と入力したら パスワードを入力すると、サーバーに接続されます!コンピューター自体でターミナルを開くのと同じように、コマンド ラインを使用できるようになりました。
SSH (デフォルト ポート 22) をルーター経由でインターネットに公開しないでください。ボットは常にインターネットをクロールします 開いている SSH ポートを探しています。ボットが開いているポートを見つけるとすぐに、パスワードのスパム送信を開始し、力ずくで侵入しようとします。
Windows での SSH でのマウス サポートの有効化
ネイティブの Windows 10 SSH クライアントを使用することの大きな欠点の 1 つは (少なくともこの記事の執筆時点では)、マウスのサポートがないことです。これは、以前のブログ投稿で学んだように、ミッドナイト コマンダーではマウスを使用できないことを意味します。
幸いなことに、OpenSSH Windows クライアントのバージョン 8 以降では、マウスをサポートできます。このクライアントをインストールしましょう。
<オール>cd ~\Downloads\OpenSSH-Win64
で . .\\ssh -V
を実行して SSH クライアントのバージョンを確認します .このガイドの執筆時点では、バージョンは 8.1.0.0-p1 である必要があります。.\ssh @
を使用して Linux サーバーに SSH で接続します .mc
を実行してマウス サポートをテストします。 マウスを使用できるようにするため、ミッドナイト コマンダーを実行します。上記のすべての手順を以下に視覚的に示します。

デフォルトの SSH クライアントのオーバーライド
新しいバージョンをより永続的に使用したい場合は、次のことができます。ただし、デフォルトの Windows 10 SSH クライアントをオーバーライドする必要があります。これにより、ssh を実行するたびに コマンド ラインでは、新しいバージョン (マウス サポート付き) が使用されます。
~\Downloads\OpenSSH-Win64 に抽出されたクライアントがあるとします。 フォルダ
<オール>ssh
と入力するたびに保証されます コマンド ラインでは、Windows は最初にここを参照します。ssh -V
を実行します .バージョンが 8.1.0.0-p になっているはずです .これらの手順を以下に要約します。

%SystemRoot%\system32 よりもフォルダを優先する セキュリティ上のリスクになります。誰かがあなたのコンピューターにアクセスできる場合、ウイルスを OpenSSH-Win64 フォルダーに挿入し、cd.exe のような Windows ユーティリティとして名前を付けることができます。 .
管理者以外は OpenSSH-Win64 フォルダーを読み取り専用に制限する必要があります。
<オール>上記のすべての手順を以下に視覚的に示します。

Tmux による切断されたセッションの管理
ああ、なんて痛いんだ! SSH 経由で実行時間の長いコマンドを実行する途中で、インターネットがドロップアウトします。これで、Linux サーバーがどのような状態になっているのかわかりません!そのコマンドで完了ですか?どうやって取り戻すの?
切断されたセッションは SSH の正当な問題であり、幸運にも簡単な解決策があります。端末マルチプレクサ (tmux) が必要です。
Tmux は、ターミナル マルチプレクサーの省略形と、プログラム自体の名前の両方を表します
Tmux は SSH のセッション マネージャーです。切断された場合でもセッションを「保持」し、バックグラウンドで実行し続けます。後でそのセッションに再接続することも、複数のセッションを作成してそれらの間を行き来することもできます。
tmux で切断されたセッションを管理するには:
<オール>sudo zypper install -y tmux
を実行して tmux ユーティリティをダウンロードしてインストールします。 以下に示すように:YaST を使用して tmux ユーティリティをダウンロードすることもできます。

ほとんどの Linux ディストリビューションには、異なるコマンドライン パッケージ マネージャーがあります。 OpenSUSE は zypper を使用します。 Arch は pacman を使用します。 Ubuntu は apt を使用します。 Red Hat は dnf と yum を使用します。ありがたいことに、これらのパッケージ マネージャーの構文は全体的にかなり似ています。
2. Windows コンピューターで、PowerShell コンソールを開き、Linux サーバーに SSH で接続します。チュートリアルでは homelab のユーザー名を使用します 192.168.134.169 の Linux サーバー IP。
ssh @
3. tmux
を実行して tmux を開きます 一旦接続。下部に緑色のバーが表示されます
4. テキストを出力するコマンドを実行します。それが何であるかは問題ではありません。このチュートリアルでは、neofetch を使用しています . ls
を実行できます
5. PowerShell を閉じてセッションを切断します。このアクションはドロップアウトをシミュレートします。
6. SSH を使用して Linux サーバーに再接続します。
7. tmux a
を実行して、古いセッションに再接続します。 以前の ls
の出力がまだ表示されるはずです 指図。万歳、切断によるデータ損失はありません!
上記のすべての手順を以下に視覚的に示します。

tmux
内で Midnight Commander ユーティリティを実行しようとした場合 、マウスがサポートされていないことに気付くかもしれません。mc -x
を実行することで修正できます
ログイン時に tmux を有効にする
デフォルトでは、tmux はすべての SSH セッションで使用できるわけではありません。ログインするたびに tmux を強制的に SSH セッションに接続することで、これを変更できます。
Linux サーバーに SSH で接続していると仮定します:
<オール>2. .bashrc を強調表示します ファイルを開き、[編集] をクリックします .
.bashrc
ファイルは、コマンド ライン経由でログインするたびに実行されるシェル (バッチ) スクリプトです
3. 以下のシェル スクリプト コードをテキスト ファイルの末尾に追加します。
if [ -z "$TMUX" ]; then tmux attach -t default || tmux new -s default fi
4. [終了] をクリックします プロンプトが表示されたら保存します。
5. SSH セッションから切断して再参加することにより、tmux 自動接続をテストします。 tmux
に接続していることを示す緑色のバーが下部に自動的に表示されます。 セッション!
それは実際には tmux
の表面をなぞっただけです。 できる、それは非常に強力なマルチタスク プログラムです。 Linux 管理者に最もよく使用するコマンドは何かと尋ねると、おそらく tmux
です。 .
まとめ
これで、A Windows Guy in a Linux World の最新の投稿を終了します。 ブログ投稿シリーズ。次回のインストールについては、ATA ブログをお楽しみに!