デフォルトでは、root 役割は Secure Shell を使用してリモートログインできません。従来、root は、重要なタスク (ZFS プールデータのリモートシステム上のストレージへの送信など) に Secure Shell を使用してきました。この手順では、root 役割は、リモートの ZFS 管理者として行動できるユーザーを作成します。
始める前に
root 役割になる必要があります。詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。
たとえば、zfsroot ユーザーを作成し、パスワードを提供します。
source # useradd -c "Remote ZFS Administrator" -u 1201 -d /home/zfsroot zfsroot source # passwd zfsroot Enter password: Retype password: #
dest # useradd -c "Remote ZFS Administrator" -u 1201 -d /home/zfsroot zfsroot dest # passwd zfsroot ...
zfsroot ユーザーは、両方のシステム上で同様に定義されている必要があります。
この鍵のペアは、ソースシステム上で作成されます。次に、公開鍵が、宛先システム上の zfsroot ユーザーにコピーされます。
# ssh-keygen -t rsa -P "" -f ~/id_migrate Generating public/private rsa key pair. Your identification has been saved in /root/id_migrate. Your public key has been saved in /root/id_migrate.pub. The key fingerprint is: 3c:7f:40:ef:ec:63:95:b9:23:a2:72:d5:ea:d1:61:f0 root@source
# scp ~/id_migrate.pub zfsroot@dest: The authenticity of host 'dest (10.134.76.126)' can't be established. RSA key fingerprint is 44:37:ab:4e:b7:2f:2f:b8:5f:98:9d:e9:ed:6d:46:80. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'dest,10.134.76.126' (RSA) to the list of known hosts. Password: id_migrate.pub 100% |*****************************| 399 00:00
source # usermod -P +'ZFS File System Management' -S files zfsroot dest # usermod -P +'ZFS File System Management' -S files zfsroot
dest # profiles zfsroot zfsroot: ZFS File System Management Basic Solaris User All
root@dest # su - zfsroot Oracle Corporation SunOS 5.11 11.1 May 2012 zfsroot@dest $ mkdir -m 700 .ssh zfsroot@dest $ cat id_migrate.pub >> .ssh/authorized_keys
root@source# ssh -l zfsroot -i ~/id_migrate dest \ pfexec /usr/sbin/zfs snapshot zones@test root@source# ssh -l zfsroot -i ~/id_migrate dest \ pfexec /usr/sbin/zfs destroy zones@test
root@source# zfs snapshot -r rpool/zones@migrate-all root@source# zfs send -rc rpool/zones@migrate-all | \ ssh -l zfsroot -i ~/id_migrate dest pfexec /usr/sbin/zfs recv -F zones
root@dest# usermod -P -'ZFS File System Management' zfsroot root@dest# su - zfsroot zfsroot@dest# cp .ssh/authorized_keys .ssh/authorized_keys.bak zfsroot@dest# grep -v root@source .ssh/authorized_keys.bak> .ssh/authorized_keys