CentOS7へのSSHサーバ導入とWindows10へのSSHクライント構築

CentOS7のSSH鍵認証設定方法

 CentOS7でSSHサーバを構築し、SSH鍵認証用鍵ペアをサーバ側で作成し、Windows 10のSSHクライントに秘密鍵を設定し、接続する方法を記載する。

設定環境

サーバ:Hyper-V環境のCentOS 7.7
クライアント:Windows 10

クライアント側とサーバ側で作成する鍵ペアの違い

クライアント側

クライアント側で鍵ペアで作成した場合は、公開鍵(サーバ):秘密鍵(クライアント)が1:1の鍵ペアがユーザー毎に作成され、公開鍵をサーバに登録することで、クライアントが対象者であると証明され、SSH接続を許可します。

・メリット
 クライアント側で作ることで秘密鍵がネット上に流出するリスクが少ない点。

・デメリット
 全クライアント分の公開鍵をサーバに登録しなければならないので、手間がかる。

サーバ側

 サーバ側で鍵ペアを作成した場合は、 公開鍵(サーバ):秘密鍵(クライアント)が1:Nとなり、 サーバ側で作った秘密鍵を各クライアントに受け渡すことで、サーバにSSH接続する権限を クライアント に付与します。

・メリット
 複数人で作業する際に、1つの秘密鍵を作業者全員に配るだけで良いので、手間がかからなくて済む。

・ デメリット
 鍵の受け渡しや共有の際に、ネットを使えば流出の危険性がある。

サーバでのsshインストール手順

インストール確認

%MINIFYHTML07e9387199c36ef6e40287fa5c238e66132%
[root@localhost umilcl]$ yum list installed | grep ssh openssh-server

インストール未の場合は以下でインストール

[root@localhost umilcl]$ yum -y install openssh-server

設定の確認

sshdの以下の設定の確認

# ポート番号 今回はデフォルト値としますが、セキュリティ上実運用は変えた方がよい #Port 22 # rootでのSSHログインの可否:yes ログイン可、no ログイン不可 PermitRootLogin no # パスワード認証の可否:yes パスワード認証可、no パスワード認証不可 PasswordAuthentication no

サービスの起動

[root@localhost umilcl]$ systemctl start sshd.service

ファイアウォール設定

 ssh用Portの開放確認今回はPort 22のため、解放されていると思われるが、変更している場合は設定が必要。

# 解放の確認 [root@localhost umilcl]$ firewall-cmd --list-all | grep ssh # ポート解放 [root@localhost umilcl]$ sudo firewall-cmd --permanent --add-service=ssh

ポート変更有の場合のファイアウォール設定(変更なしの場合不要)

ファイアウォールのsshのポート設定変更

<?xml version="1.0" encoding="utf-8"?> <service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="変更後のポート"/>

ファイアウォールリスタート

[root@localhost umilcl]$ systemctl restart firewalld [root@localhost umilcl]$ systemctl status firewalld -l

サーバでの鍵ペア作成手順

サーバ側で鍵ペアを作る

id_rsaという名前で鍵ペアを作成します。RSA 4096bitの鍵方式となります。それなりに強固です。
この作業で作った秘密鍵を、作業者に配布することになります。

[root@localhost umilcl]$ ssh-keygen -t rsa -b 4096 Generating public/private rsa key pair. Enter file in which to save the key (/user/.ssh/id_rsa): Created directory '/user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /user/.ssh/id_rsa. Your public key has been saved in /user/.ssh/id_rsa.pub. The key fingerprint is: SHA256:gNoQTdPhsMwaUrZaglLFCuSRRj+B3PsGJ730Bjz7AJs user@localhost The key's randomart image is: +---[RSA 4096]----+ |++O=… | |+Oo+. | |o=+O o | |.=.@.B . | |. o @ * S | | E * o | | . + | | . | | | +----[SHA256]-----+

パスワードは何も入力せずEnterを押せば設定しないことも出来ます。

公開鍵を登録(authorized_keysに登録)

[user@localhost ~]$ mkdir .ssh # .sshディレクトリ作成 [user@localhost ~]$ cd .ssh [user@localhost .ssh]$ touch authorized_keys # authorized_keysファイル作成 [user@localhost .ssh]$ cd ~ [user@localhost ~]$ cat id_rsa.pub >> ~/.ssh/authorized_keys #公開鍵登録 [user@localhost ~]$ chmod 600 ~/.ssh/authorized_keys #パーミッションの設定 [user@localhost ~]$ chmod 700 ../.ssh #パーミッションの設定

パーミッションの設定をしないと、認証が通らないので確実にやりましょう。

秘密鍵の保存

 サーバにて作成されたid_rsaファイルをftpやscp等にてクライアントにコピーしてください。
クライントの保存先はC:\Users\user_name\.ssh\id_rsaに保存します。

クライアント側の秘密鍵設定

.ssh/configを編集(無ければ新規作成)

Host username@hostname HostName hostname User username IdentityFile ~/.ssh/id_rsa

クライアント側接続テスト

下記コマンドにてパスワード不要で接続できれば成功です。

[user@localhost ~]$ ssh -i ~/.ssh/id_rsa username@hostname

最後に

上記まででSSHサーバ、クライアントの導入は完了となる。

UMilCLhttps://umilcl.com
兼業ブロガー。メインは大手製造業システム企画・設計・プロジェクト管理。工場のプロセス制御が主な業務。 得意分野: プロセス制御と統計、機械学習、画像処理、システム技術 保有資格: プロジェクトマネージャー、情報処理安全確保支援士、ネットワークスペシャリスト、応用情報処理、第一種衛生管理者

Similar Articles

Comments

返事を書く

コメントを入力してください!
ここに名前を入力してください

Follow US

0ファンいいね
3フォロワーフォロー
89フォロワーフォロー
4,100フォロワーフォロー
0SubscribersSubscribe

Archive

Most Popular

EWWW Image Optimizerの設定方法と使い方【Webp対応】

画像のサイズが大きいことによる速度インデックスの低下に対して画像のサイズを圧縮する「EWWW Image Optimizer」での対策を説明します。

【ブログ運営報告】雑記ブログ5ヶ月目のPV数・収益【WordPress】

雑記ブログ UMilCL を開始して5か月が経過しました。 ただの技術系の会社員が雑記ブログを始めると、5か月でアクセス数・収益がどのようになるか、初心者ブロガーが参考にするために見ていただければと思います。定期報告4回目となります。

【7月1日営業再開】ディズニーシー休止対象と営業予定一覧

私もぜひ行きたいのですが、休止対象設備だけ紹介されており、私みたいなディズニー初級者は何が営業しているのか全然わからなかったので、東京ディズニーシーの営業中と休止予定のアトラクション、ショップ、レストラン、ショーを纏めてみました。

WordPressでブログを100記事書くとPV・収益はどの程度になるか?

私も実際にWordPressで雑記ブログを始めて、本記事を合わせて100記事となりました。陸の孤島と呼ばれるWordPressで独自ドメインを新規で取得し、4か月半で100記事を書くとPV・収益はどの程度になるかについて解説していきたいと思います。

OPPO IDの登録方法と登録した際にできること

OPPO IDとは、テーマストア、オンラインストレージ拡張、データ復元などOPPO端末にプリインストールされているOPPO独自のアプリ・機能を利用する際に必要になります。本記事ではOPPO Reno A等のOPPOスマートフォンの設定を行う際に「OPPO ID」の登録・設定について、どのような情報を要求されており、手順はどのようになっているかについて説明します。