ubuntu 16.04 へ redmine と gitlab インストール その1(公開鍵認証設定)
raspberry Pi で構築したときにはマシンスペック不足だったので
今回は Virtualbox の Ubuntu 16.04 で実践
まず ssh 接続できるように
1 | sudo apt-get install openssh-server |
で SSH server をインストール
次に vim のインストール
1 | sudo apt-get install vim |
root での ssh ログインを禁止するために
1 | sudo vim /etc/ssh/sshd_config |
で設定ファイルを開き
28行目の
1 | PermitRootLogin prohibit-password |
を
1 | PermitRootLogin no |
へ変更し保存
1 | sudo /etc/init .d /ssh restart |
で SSH server を再起動して設定を反映
公開鍵認証で使うために
1 2 | mkdir . ssh chmod 700 . ssh / |
でディレクトリを作成し
権限を 700 にしておきます
次に公開鍵認証にするけど
すでに別のマシンで鍵をつくっているので
上書きされると困るので
sshの公開鍵認証について(個人的まとめ)
を参考に
鍵ファイルに名前をつけます
一度サーバーからログアウトして
クライアントマシン側の ubuntu で作業します
1 | ssh -keygen -t rsa |
を実行して
1 | Enter file in which to save the key ( /home/snowpool/ . ssh /id_rsa ): |
の時に名前をいれればOK
このときに名前を snowpool とすると
snowpool という秘密鍵
snowpool.pub という公開鍵ができます
次に権限などの変更
1 2 | mv snowpool . ssh / chmod 600 . ssh /snowpool |
として権限を 600 へ変更
次に対象サーバーへ公開鍵をコピー
1 | scp snowpool.pub snowpool@192.168.1.237:~/. ssh /authorized_keys |
次にサーバーにログインし
1 | chmod 600 . ssh /authorized_keys |
で権限を 600 に変更
これであとはクライアント側で
1 | ssh -i . ssh /snowpool snowpool@192.168.1.237 |
というように
ssh コマンドで -i オプションで鍵を指定することで
公開鍵認証でログインができます
セキュリティのためのパスワード認証を禁止するため
1 | sudo vim /etc/ssh/sshd_config |
で設定ファイルを開き
52行めの
1 | #PasswordAuthentication yes |
を
1 | PasswordAuthentication no |
へ変更し
1 | sudo /etc/init .d /ssh restart |
でSSH server を再起動して設定を反映
これでパスワード認証でのログインは不可能になります
ただ、このままだと毎回鍵ファイルを指定するのは面倒なので
クライアント側の設定を変更します
1 | vim . ssh /config |
で 設定ファイルを開き
1 2 3 4 5 | Host snowpool HostName snowpool-VirtualBox User snowpool Port 22 IdentityFile /home/snowpool/ . ssh /snowpool |
というようにファイルを作成します
Host には任意の接続したい名前
HostName には対象マシンのホスト名
これは hostname コマンドを実行するとでます
User はユーザ名
Portは接続ポート番号
IdentityFile は公開鍵の場所を指定します
これで
1 | ssh snowpool |
というようにすると設定した Host名で簡単にログインができるようになります