VyOSでユーザの設定 及び SSHの設定をする

VyOSでのSSH

Ciscoでは次の手順でSSHの設定を行いました。

  1. ホスト名を設定する
  2. ドメイン名を設定する
  3. RSA鍵を作成する
  4. 認証方式の設定をする
  5. SSHのバージョンを指定する
  6. SSHを有効にする

対して、VyOSでは次の手順で設定を行います。

  1. (認証の設定をする)
  2. SSHを有効にする

かなり簡単に設定することができ、SSHを有効にするという1つの工程でもSSHアクセスを可能にすることができます。

VyOSではCiscoよりも簡単にSSHの設定を行うことができます。
VyOSはLinuxベースのルータOSであり、LinuxのSSHの仕組みである、OpenSSHを利用してSSHアクセスを可能にしています。
そのため、ホスト名やドメイン名は設定する必要がありません。

当ページでは次のパートに分けて解説します。

SSHを有効にする

VyOSでSSHを有効にするには、次のコマンドを実行します。

設定項目 設定内容
SSHを有効にする set service ssh port <ポート番号>

なお、ポート番号には「22」を入れることが一般的です。

このコマンド1つでSSHを有効化することができます。(詳しくは後述)

設定例を紹介します。

例題1

VyOSルータのインタフェースeth1にIPアドレス192.168.10.254/24を設定し、SSHアクセスができるようにします。

コマンド

set interface ethernet eth1 address 192.168.10.254/24

set service ssh port 22

解説

IPアドレスを設定した後にSSHを有効にしています。

 

set service ssh port 22のみでSSHを有効化できるのには、次の理由があります。
・OpenSSHの仕組みを使用しているため、設定が簡素化できる
・VyOSにはデフォルトでユーザが作成されている(ユーザ名:vyos、パスワード:vyos)

ですが、このまま使用するとセキュリティ的に問題がありますので、次に紹介する認証方式の設定を行います。


認証に関する設定(ユーザの作成等)をする

前述の通り、デフォルトユーザを使用し続けることと、パスワード認証をSSHで行うことはセキュリティ的に問題があります。

そこで、ユーザの新規作成を行います。

ユーザの新規作成には次のコマンドを使用します。

設定項目 コマンド
新しいユーザを作成する set system login user <ユーザ名> authentication <認証方式> <認証情報等>


コマンドの<認証方式>では、様々な方式を使用することができますが、よく使用するのは次の2つです。

  • プレーンテキスト認証(plaintext-password)
  • 公開鍵認証(public-keys)

それぞれ設定コマンドは次のようになります。

プレーンテキスト認証でユーザを作成する

設定項目 コマンド
ユーザを作成する set system login user <ユーザ名> authentication plaintext-password <パスワード文字列>

公開鍵認証でユーザを作成する

設定項目 コマンド
鍵生成アルゴリズムを指定する set system login user <ユーザ名> authentication public-keys <鍵名&gt type <アルゴリズム>
鍵を登録する set system login user <ユーザ名> authentication public-keys <鍵名> key '<鍵>'

公開鍵認証に関して、typeでは「ssh-ed25519」を指定することが一般的です。
また、鍵の登録の際、文字列の両端に「'(シングルクォート)」を入力しないと鍵文字列と認識されませんので注意が必要です。

なお、別途クライアント等で作成した鍵(pubファイル)は次のような形式になっていると思われます。
ssh-ed25519 AA・・・・
この先頭のssh-ed25519は不要で「AA・・・」以降をVyOSにkeyとして登録する必要があります。


なお、次の設定を行うことも多いです。

 

設定項目 コマンド
ユーザを無効にする set system login user <ユーザ名> disable

このコマンドを使用して、デフォルトユーザ(vyos)を無効にします。

set system login user vyos disable

 

設定項目 コマンド
パスワード認証を無効にする set service ssh disable-password-authentication

公開鍵認証を設定する場合、パスワード認証を無効にしておいたほうがセキュリティを向上させることができます。

基本的にはこれらのコマンドを使用してSSHアクセスをコントロールします。

例題2



コマンド


まず、UbuntudesktopPCで鍵を作成します。

ubuntudesktopPC

ssh-keygen -t ed25519

これにより鍵が作成されました。デフォルトでは~/.sshに作成されると思います。

このうちの拡張子がpubであるほうが公開鍵ですので、こちらをcatコマンドで閲覧します。

cat ~/.ssh/id_ed25519.pub

すると、次のような出力が得られると思われます。

 

うちの、ssh-ed25519を除いた、AAA・・・・をコピーしておきます。

続いて、ルータ1の設定へ行きましょう。

ルータ1

set interfaces ethernet eth1 address 192.168.10.254/24

set system login user testuser1 authentication public-keys testuser1key type ssh-ed25519
set system login user testuser1 authentication public-keys testuser1key key 'AAAAC3NzaC1lZDI1NTE5AAAAIL7ZBjMOJDOOj4v/c4p60Jfr19nuYUZyrIWaIktH0x7o bosshost@bosshost'
set system login user vyos disable

set service ssh port 22
set service ssh disable-password-authentication

解説

  • 1つ目のブロックでインタフェースのIPアドレスを設定しています。
  • 2つ目のブロックでユーザの設定を行っています。

    まず、新規ユーザとしてtestuser1を作成し、認証方式としてpublic-keys(公開鍵方式)を指定しています。

    1つ目のコマンドでアルゴリズムを、2つ目のコマンドで先程Ubuntuで生成した鍵を指定しています。

    最後に、デフォルトのユーザであるvyosを無効化しています。

  • 3つ目のブロックでSSHの設定をしています。

    SSHの有効化に加えて、パスワード認証を無効にしています。

    今回は公開鍵認証を行うため、パスワード認証は無効にしておいたほうがセキュリティ的に良いでしょう。

以上となります。

続いて、確認を行います。

確認

UbuntudesktopPCからSSHアクセスができるか確認しましょう。

UbuntudesktopPC

ssh testuser1@192.168.10.254

コマンド実行によりパスワード入力を求められずにルータ1へアクセスできたら成功となります。

プロンプトが「testuser1@vyos」となっていれば成功です。

 

 

以上となります。

 

今回はネットワークだけでなく、Linuxの知識も必要となる分野でした。

Linux及びネットワーク学習を行う方の手助けになれば幸いです。

 

お疲れ様でした