DS218Playで公開鍵を使ったSSH
SynologyのNASDS218playで、ソース管理用Gitサーバーを稼働させるためにSSHを使ったアクセスが必要になったので、その時に行ったSSH関連の設定をまとめてみました。Gitへのアクセスは主にVSCodeを使っているのでSSHは鍵認証で行うようにしました(SSHパスワード認証の場合上手くVSCodeでGitが動かなかったので)。
環境は、クライアントがmacOS Sierra、NASはSynology DS218play(DSM6.2-23739)で行いました。
DS218PlayでSSH機能をを有効化
macOSで公開鍵と秘密鍵を作成
公開鍵をDS218playに設定する
ログインユーザーはhogeというユーザーとします。また公開鍵はtempという共有フォルダー経由で行います。公開鍵をDS218playに保存します。
- SSH用のディレクトリを作成します。この中に公開鍵を保存することになります。
$ $ mkdir /volume1/home/hoge/.ssh
- 公開鍵を指定のファイルに保存します。
$ mv /volume1/temp/ds218playkeys /volume1/home/hoge/.ssh/authorized_keys
- SSHで使うディレクトリやファイルのパーミッションを適切な値に変更します。
$ chown -R hoge:users /volume1/homes/hoge/ $ chmod -R 755 /volume1/homes/hoge/ $ chmod 700 /volume1/homes/hoge/.ssh $ chmod 644 /volume1/homes/hoge/.ssh/authorized_keys
SSHデーモンの設定ファイルを変更
- 鍵認証だけでSSHログオンできるように設定を変更します。/etc/ssh/sshd_configファイルを開いて次の項目のコメントを外します。
#PubkeyAuthentication yes ↓ PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys ↓ AuthorizedKeysFile .ssh/authorized_keys
- SSHDの設定をチェックします。今回の環境では下記のようなメッセージが表示されましたが、SSHで鍵を使ってログオン出来ました。通常はこういったメッセージは表示されないようです。
$ /bin/sshd -t Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_dsa_key Could not load host key: /etc/ssh/ssh_host_ecdsa_key Could not load host key: /etc/ssh/ssh_host_ed25519_key sshd: no hostkeys available -- exiting.
SSHデーモンを再起動
念のためSSHDデーモンを再起動しておきます。
$ sudo synoservicectl --reload sshd
SSH接続
次のようなコマンドでSSHに接続できます。ここではSSHユーザー名はhoge、DS218PlayのIPアドレスを192.168.1.1、macから接続しています。鍵で認証できた場合はパスワードの入力をする必要がありません。
$ ssh hoge@192.168.1.1
広告