SSH接続 Synology NAS から WEBサーバー

SynologyのNASからサーバーへSSH接続NAS
SynologyのNASからサーバーへSSH接続

Synology -> SSH接続 Synology NAS -> WEBサーバー


SynologyのNASからWEBサーバーへSSH接続します。
WEBサーバーからSynologyのNASへファイルを持ってきたり、送ったりできるようになります。
今回は、ファイル操作が主目的です。

公開鍵認証(公開キー認証)での接続

SSH接続にはパスワード認証と公開鍵認証(公開キー認証)がありますが、今回は公開鍵認証を用います。
公式[Synologyのナレッジセンター]:SSH 経由で RSA キー ペアで DSM にサインインする方法
(今回の内容とは異なりますが、公開鍵認証での接続するという点では同じもの)

このページの手順ではSynology NAS(DSM)上でコンソール操作を行います。
設定はSSH接続 Mac->Synology NASで行っています。

手順。目次と同じ順になります。助長になりますが、勘弁です。
1.秘密キーと公開キーの作成 (Synology NAS)
2.秘密キーの権限変更 (Synology NAS)
3.公開キーをWEBサーバーへ登録 (Synology NAS->WEBサーバー)
4.sshd_config ファイルの変更 (WEBサーバー)
5.sshdのリスタート (WEBサーバー)

sshキー(秘密鍵・公開鍵)を作成する場所

「ssh-keygen」というコマンドが実行できるのであれば、キーはどこで作っても関係ありません。Mac、WEBサーバー、Synology NAS(DSM)、どこで作っても動くはずです。
作られた秘密キー、公開キーを適切に配置されれば動作します。

sshキー(秘密鍵・公開鍵)を配置する場所

公開鍵(公開キー):人に見られてもいい鍵(キー)、サーバー側に配置。
秘密鍵(秘密キー):人に見られてはいけない鍵(キー)、クライアント側に配置。
ここでの「サーバー」「クライアント」は、機能実装上の違いではありません。
サーバー側:接続される側
クライアント側:接続する側

ログインユーザー(接続ユーザー)の/home/.sshフォルダに配置します。
サーバー/ログインユーザー/home/.ssh/authorized_keys
クライアント/ログインユーザー/home/.ssh/id_rsa

(シノロジー)Synology NAS(DSM)での鍵の作成

Synologyのコンソールへログインします。
(SSH接続でターミナル接続)

 ssh -p [ポート] [Synolovgy管理者ユーザー]@[IPアドレス]

接続したら、以下のコマンドを実行します。
この作業で、2つのファイルが作成されます。
id_rsa:秘密キー
id_rsa.pub:公開キー

ssh-keygen -t rsa -b 4096

コマンド オプション

-t type:鍵の生成に使用するアルゴリズムの指定。rsaやdsa。
-b ビット:鍵のサイズで、ビット長です。ビットは2進数1桁が1ビット。

実行すると、対話式で、キーの保存場所、パスフレーズ、確認パスフレーズと入力が促されます。
パスフレーズを入力すると、接続にパスフレーズが必要となります。
SynologyのNAS(DSM)にはパスフレーズを省略するssh-addコマンドがなかったので、入力せずにEnterでスルーしました。

ユーザー名@サーバー名:~$ ssh-keygen -t rsa -b 4096
 Generating public/private rsa key pair.
 Enter file in which to save the key (/var/services/homes/ユーザー名/.ssh/id_rsa): [Enter]
 Enter passphrase (empty for no passphrase): [Enter]
 Enter same passphrase again: [Enter]
 Your identification has been saved in /var/services/homes/ユーザー名/.ssh/id_rsa
 Your public key has been saved in /var/services/homes/ユーザー名/.ssh/id_rsa.pub
 The key fingerprint is:
 SHA256:3KpCurvf+IGLIfkbQpNX5HM83JVFREZ6+U3xN6Ss4Vo hiroomixx@Hayashi
 The key's randomart image is:
 +---[RSA 4096]----+
 |     .     .BB o |
 |    o o . ..+ + o|
 |     + = . o = .+|
 |  . . o…. + ..+|
 | + .    S .E   ..|
 |..o ..   .o      |
 |+ oo. . ..       |
 | +.+.+ o         |
 |  B*+o+          |
 +----[SHA256]-----+
 ユーザー名@サーバー名:~$

秘密キーの権限変更 (Synology NAS)

SynologyのNAS(DSM)でキーを作成した場合、
/var/services/homes/ユーザー名/.ssh/
にキーが作成されます。
ユーザー名はログインしているユーザー名。

cd [Enter]
cd .ssh

or 

cd ~/.ssh

キーの作成された場所へ移動し、秘密キーの権限を変更します。

chmod 600 id_rsa

600という設定は、ファイルのオーナー(作成ユーザー)にのみ、読み取り、書き込み権があるというものです。
設定後のファイルを確認すると、このようになります。
-rw——-  1 オーナー グループ 3381 Mar 13 09:55 id_rsa

公開キーをWEBサーバーへ登録 (Synology NAS->WEBサーバー)

やることは、WEBサーバーのログインユーザーのhomeの下に(中に).sshフォルダを作成し、authorized_keysファイルを作成することです。
既にある場合は、authorized_keysファイルに今回作成した「id_rsa.pub」の中身を追記します。

Synology File Station
Synology File Station

SynologyのFile Stationで作成されたファイルが確認できます。
「id_rsa.pub」をダブルクリックするとダウンロードされます。
パソコンでこのファイルを開き、中身をコピーして、WEBサーバーのauthorized_keysファイルにペーストして追記します。

WEBサーバー側の場所は、/home/ユーザー名/.ssh/authorized_keys でした。
vi /home/ユーザー名/.ssh/authorized_keys
(vi派なので)
フォルダやファイルがない場合は、

cd ~/
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
vi authorized_keys

こんな流れでフォルダを作成、ファイルを作り、追記してください。

sshd_config ファイルの変更 (WEBサーバー)

sshdの設定ファイルを変更します。
Pubキー(公開キー)での認証を行う(許可する)という設定になります。
ルートになるか、sudoを利用してください。一般ユーザーでは編集できません。

 vi /etc/ssh/sshd_config

ファイルを開き、以下の箇所を変更するか、コメントアウトを外します。

PubkeyAuthentication yes

パスワード認証を無効化(不許可、禁止)させる場合、

PasswordAuthentication no

PasswordAuthenticationを「no」にします。
ウチでは、WinSCPを使ってファイルをアップロードしてる環境もあって、パスワード認証を使用していたので設定を行いませんでした。

サービスの再起動 (WEBサーバー)

systemctl restart sshd

設定変更を反映させます。

SynologyのNASからサーバーへSSH接続

掲題にたどり着きました。
パソコン(Mac)のターミナルからSynology NAS(DSM)へ接続します。

ssh -p 12543 [ユーザー名]@[Synology IPアドレス]

Mac->Synology NAS(DSM)はパスワード認証なので、パスワードを入力して接続します。
接続して、Synology NAS(DSM)のコンソールになったら、

ssh -p [ポート番号] [WEBサーバーユーザー名]@[WEBサーバーIPアドレス]

WEBサーバーへ接続します。
公開キー認証で、パスフレーズ無し(未設定)なので、直ぐにWEBサーバーへ接続します。
全体は以下の流れになります。

MacBook-Air$ ssh -p 12543 [ユーザー名]@[Synology IPアドレス]
 [ユーザー名]@[Synology IPアドレス]'s password: 
 
 Synology strongly advises you not to run commands as the root user, who has
 the highest privileges on the system. Doing so may cause major damages
 to the system. Please note that if you choose to proceed, all consequences are
 at your own risk.
 
 [Synology ユーザー名]@[Synologyサーバー名]~$ ssh -p [ポート番号] [WEBサーバーユーザー名]@[WEBサーバーIPアドレス]
 Last login: Sun Mar 13 16:07:47 2022 from XXXXXXXX060114035017.bbtec.net
 [WEBサーバーユーザー名]$ 

コメント

タイトルとURLをコピーしました