ssh-keygenでRAS鍵をつくってMacからCentOS7へ接続できるようにする
MacのVirtualBoxに作ったCentOS(ゲストOS)にRSA鍵認証許可を設定したので、Mac(ホストOS)からRSA鍵認証でログインできるようにします。
ponsuke-tarou.hatenablog.com
- 目的 : Linux環境でSSHの鍵作成から設定まで勉強したい!
- 環境
- ホストOS : macOS Sierra Version10.12.6
- VirtualBox : 5.1.26 r117224 (Qt5.6.2)
Macで公開鍵と秘密鍵を作成する
鍵を作成する
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/mana/.ssh/id_rsa): # <-------- 特に指定がなければEnter Enter passphrase (empty for no passphrase): # <--------------- パスフレーズを入力 Enter same passphrase again: # <-------------- 確認用にもう1度パスフレーズを入力 Your identification has been saved in /Users/mana/.ssh/id_rsa. Your public key has been saved in /Users/mana/.ssh/id_rsa.pub. The key fingerprint is: SHA256:+OKA8zTBRkOH7shmT36jxXelsEek9RnRI69Xy8RzzB8 mana@mananoMacBookAir.local The keys randomart image is: +---[RSA 2048]----+ | ... .. | | ... ..o | | .o o .o.+ | | o.. . + . o.E=| | . o+ . S . +.o.*| | =ooo . + o. .o.| | oo++ + + + . | | +o=oo o | | oo.. | +----[SHA256]-----+ $ ls -la .ssh/ total 24 drwx------ 5 mana staff 170 Aug 1 22:44 . drwxr-xr-x+ 60 mana staff 2040 Jul 26 23:24 .. -rw------- 1 mana staff 1766 Aug 1 22:44 id_rsa #<--------------- 秘密鍵 -rw-r--r-- 1 mana staff 409 Aug 1 22:44 id_rsa.pub #<------------ 公開鍵 # 公開鍵に所有者のみ読み書き権限を付与します。 $ chmod 600 .ssh/id_rsa.pub # 権限を確認します。 $ ls -la .ssh/ total 24 drwx------ 5 mana staff 170 Aug 1 22:50 . drwxr-xr-x+ 60 mana staff 2040 Aug 1 22:50 .. -rw------- 1 mana staff 1766 Aug 1 22:44 id_rsa -rw------- 1 mana staff 409 Aug 1 22:44 id_rsa.pub
注意ポイント
パスフレーズが短いと↓怒られて↓鍵作成に失敗します。
Saving key "/Users/mana/.ssh/id_rsa" failed: passphrase is too short (minimum five characters)
鍵の強度(鍵長)を確認してみます。
$ ssh-keygen -l -f ~/.ssh/id_rsa.pub 2048 SHA256:+OKA8zTBRkOH7shmT36jxXelsEek9RnRI69Xy8RzzB8 mana@mananoMacBookAir.local (RSA)
秘密鍵のフォーマットを見てみます。
$ vi /root/.ssh/id_rsa -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: AES-128-CBC,8B5E34DBBBC0801DDDC2A5A241775435 c2ACE4A1dOR55tGA7ZmIJ4dUDaVTL3uMyi3OiPlZdYDdnTKKrDpw9hHMILiauoCV 46Njy+DiE1iqNgKJHMKFLm1Flr3iFzehPm+u97qjFubZ5vS5wqYRjI8nSaKpE2X4 DSLUCUMBRIx5uOMuEWxLF4NrL50vgM35WQjAXgPxqZhku7P7pYUEPDekbMP6rlVr W1kKRuXfIPNC18W40HUaUGnj+qjPm96wuj0TQSZww1k+aAOb+ngbLoXCELYg38WT rCpAHLOky/BRHQhNDyUbOsV4QZuCMRlSsNEHGC9FP0/dn0azabuNWo40UNhSEmjM C1zQh5zSP7LzGXo2DD1KfsKjAcfgRPidUD0GIjzqz/9mPDwXOorSOmXYwG9NXyAB +dljYkcJDyfxaZHR7lJMnm2hegFRmaqlW+eIYPt9S4TgGJ0OM6X3Hbo+jtZQa3/u DFauOVRj5wfXcSQxS+m9LIb+tuFghBOyAfdJbtFfO/dZDIDH6oB2gXQc6sklIQqU nnciusaHoRfhI+SM29lLkErwmZ7TARxDkKAUO2qYIczoCJwgYM3PvhTTzaqUj0cY 7PMVYrO5Rlh7kEDBsRr0mjfCV27JQ3B6mLuLwPlqwuk8w/Nlah1MkV+NqZwc4H2W EjTRls9gFm0jG9EotdfRy9EnRDoYLWWglhgZ0nIqDtfuF2nqFIxSV77/wQHY2cwc Lx0rRUj6dUhTPEM4ROdVfD6di6WVaNpvTe65kAweRItBf0c66jqJrollKx91xQGF T5XSLUD+iTOQu+wUM67wVjRVT7sjxYOm9IViBw2GpRD9E+9jEP+mw6FWL1adEony Vi9Bz1MqxcxEbCQp7uNBjCZjGk3lGnI5nrscfdRJLfWnBGVg9bCABKP+OvNGdKNr Wyi/TPvjatpBl83Z2b5Dpb/XAhq8IgaAwV973MsJPZzkc18+MMsbvU37RTj4UTL9 dl0rKvxgD6044328PZsEEX19tqQStWEN2JoWxZG//mbpMk+bAP7A9i1x/0cy3JOQ t0tcSI6vLBjbGD/mVfX49Bl29h/e92p+fioxuNoqvm0K+GSJoJ9VMV6wweI0o2AY 4LMqOxXd/KSg0uixep0zY4QndxvT1uspTDb9JCPA6M5aIi7MMrt/l8amHNNhWco3 c3Tt1bbXhukhMECI5jEPI6SOXobHhr2m6gp78G7Kpcm+X7boAl+cLDtiHZSkeUIJ CO1cZLsto7xzkqyu7cee5tTW69tBGjTklrGm6LhohV0myKq2I/VCmS7mMLzBNDHj +5P1qpwhxv+zGgjQg3n+v1rIxilSaah+2Kp7MoGHgQZOD73xw/81KCP77/xoREOJ QXuCsqk0uGAdTjef/OTUlMCZp1uJro0hrQW8S2pLgKS/t+6F/lzX0qM7HemaKTzi rDxjhG2fR+hwcjokgw/8PtXjcYAn/CuD3/8to+0D8e+ZQrEwj5rLfSwKk7QmsVmQ af6R+5iWHVjfLPhtnjyEi1rVyvplheTV7TPqUEx6x3Bt74fYIW9uKttNxO/BiVmE 28GkLxdacwcGRtqDKIgHnBvZz9Z8TRyis66mnd/onZq7QE8gzJXAqtPJVGBpPGsK -----END RSA PRIVATE KEY-----
公開鍵のフォーマットを見てみる
$ vi /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCunPJl+yHM3LWrufikAFXYMlTaLt7azQ8ciPY8YHKxTXHQtunkFkfazDFJ/8GpU3W9vgNAP2n8XBs41NhjlAl6bi6Ouncs8tJOdNrCOAftX+R2KRI5/S3LuE3wGo411yGNn0MXOl5PFCJLLyRFZG4roD7J6f+hl6Jett8TLIyE1TsFrdVAtzPf0nvs7XHnNc2YU+kK5F0MmPpGpFv5k2mqle8VpxrH0MOu714e8sr7yxBbQpMGmqvJ8Lye/i2P0DSuamBTTMKsw6HUwh9yvKTB7IIKlqYuPJqtZ1otEMiGQOh1tGSKO1x7xHJqcSQ++qaG4F75s9ddWW2AzFMdtLel mana@mananoMacBookAir.local
ゲストOSに公開鍵を配置します。
# rootでログインします。 $ ssh root@192.168.0.6 root@192.168.0.6s password: # 公開鍵を配置用ディレクトリを作成します。 $ mkdir /home/mana/.ssh # 所有者に読み書き実行権限を付与します。 $ chmod 700 /home/mana/.ssh # ディレクトリと中身の所有者を変更します。 $ chown -R mana:mana /home/mana/.ssh/ # 権限を確認します。 $ ls -la /home/mana/ 合計 40 drwx------. 4 mana mana 121 8月 1 23:00 . drwxr-xr-x. 4 root root 33 6月 8 21:27 .. -rw-------. 1 mana mana 20968 10月 25 01:20 .bash_history -rw-r--r--. 1 mana mana 18 8月 3 2016 .bash_logout -rw-r--r--. 1 mana mana 193 8月 3 2016 .bash_profile -rw-r--r--. 1 mana mana 231 8月 3 2016 .bashrc drwx------. 2 mana mana 29 8月 1 23:18 .ssh -rw-rw-r--. 1 mana mana 218 7月 12 00:37 err.txt drwxrwxr-x. 3 mana mana 19 7月 7 00:15 mnt # ログアウトします。 $ logout Connection to 192.168.0.6 closed. # SCPで公開鍵をMacからゲストOSへ配置します。 $ scp .ssh/id_rsa.pub mana@192.168.0.6:~/.ssh/authorized_keys mana@192.168.0.6s password: id_rsa.pub 100% 409 311.1KB/s 00:00
Linuxコマンド集 - 【 chmod 】 ファイルやディレクトリのアクセス権を変更する:ITpro
Linuxコマンド集 - 【 chown 】 ファイルやディレクトリの所有者を変更する:ITpro
webkaru.net
MacからゲストOSへRAS鍵認証で接続してみます。
接続方法はパスワード認証と同じですが、入力するのがパスワードではなく鍵のパスフレーズとなります。
$ ssh mana@192.168.0.6 # <------------- 鍵作成時に入力したパスフレーズを入力 Enter passphrase for key '/Users/mana/.ssh/id_rsa': Last login: Wed Oct 25 01:20:33 2017 from 192.168.0.4
接続できました。
次は、Windows10(ネットワーク内のPC)からもRAS鍵認証でログインできるようにします。
ponsuke-tarou.hatenablog.com