#背景
Cloud9でlaravel開発環境の構築で開発用のuserをつくった方がいいと思ったので作成。
ユーザー作成
$ sudo su -
# useradd test-usr
# passwd test-usr
sudoが実行できるように変更
# sudo visudo
#追記する
test-usr ALL=(ALL) ALL
test-usrで入り直す
# exit
$ sudo su - test-usr
sshキーの作成
$ cd /home/dev-usr
$ mkdir .ssh
$ cd .ssh
$ ssh-keygen -t rsa
#今回はパスフレーズなしで作成した
Amazon Linuxに合わせて名称変更とPermission設定
$ mv id_rsa.pub authorized_keys
$ chmod 600 authorized_keys
$ cd ..
$ chmod 700 .ssh
ローカル環境に鍵を保存する。catコマンドでコピペして作成。
ローカルではaws-test-usr.pemで保存。
$ cat id_rsa
#コピペ
-----BEGIN RSA PRIVATE KEY-----
・
・・・
-----END RSA PRIVATE KEY-----
sshd_configに追記
$ exit
$ sudo su -
# vi /etc/ssh/sshd_config
#なければ追記する
/etc/ssh/sshd_configAuthorizedKeysFile .ssh/authorized_keys
ローカルからログインしてみる
$ ssh -i "aws-test-usr.pem" test-usr@xx.xx.xx.xx
ログインできない
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'aws-test-usr.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "aws-test-usr.pem": bad permissions
dev-usr@xx.xx.xx.xx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Permissionが0664ではエラーが出るためPermission変更
$ chmod 600 aws-test-usr.pem
ログイン
$ ssh -i "aws-test-usr.pem" test-usr@xx.xx.xx.xx
Last login: Fri Jan 25 20:45:51 2019
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
できました。
#Permissionについておさらい(備忘録)
$ll
-rw------- 1 dev-usr dev-usr 434 1月 25 20:47 authorized_keys
###分解する。
①- ②rw- ③r-- ④r-- ⑤test-usr ⑥test-usr ・・・・⑦authorized_keys
###1、3、3、3で分かれるイメージ。
①はファイルのタイプ
②の「rw-」は⑤の「test-usr」という所有者のPermission
③の「---」は⑥「test-usr」というグループのPermission
④の「---」とその他(どのグループにも属さない)のユーザのPermission
⑦ディレクトリ名
###Permissionの種類
'- Permissionなし
r 読み
w 書き
x 実行
###番号にすると
0---、1--x、2-w-、3-wx、4r--、5r-x、6rw-、7rwx
例
$ chmod 600 authorized_keys
#authorized_keysの、所有者にのみ、読み書き権限を付与
#新しくつくったuserでCloud9接続
※新しくつくったuserのauthorized_keysに公開鍵をコピー
#laravelプロジェクト作成
$ ~/composer.phar create-project --prefer-dist laravel/laravel test-laravel
###Permissionのエラー
Installing laravel/laravel (v5.7.19)
[ErrorException]
mkdir(): Permission denied
Permissionの設定変更で解決
$ cd /var/www/environment
$ sudo chmod 775 environment
###メモリ不足でエラー
The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
下記を参照してスワップファイルを作成して解決
Cloud9でlaravel開発環境の構築
###cloud9を開いた時の**.c9のインストール**でエラー
参考
sudoをパスワードなしで使えるようにして解決
$ sudo visudo
#追記
test-usr ALL=NOPASSWD: ALL
###ブラウザでlaravelページを開いた時にエラー
The stream or file "/var/www/test-laravel/storage/logs/laravel-2019-01-26.log" could not be opened: failed to open stream: Permission denied
またParmissionでエラー
下記の対応で解決
#apacheに権限付与して見た
$ sudo usermod -a -G www apache
$ sudo usermod -a -G dev-usr apache
#再起動
$ sudo systemctl restart httpd
#問題のログファイルを削除
$ sudo rm laravel-2019-01-26.log