あそぶ技術

フィヨルドブートキャンプでRuby on railsの学習をしている僕の学習ブログです。

PermitRootLoginをprohibit-passwordからnoに変更する

SSHをインストールした後の設定

SSHをインストールした後の設定方法です。

SSHのインストール方法は以下の記事をどうぞ。

zeroringo.hateblo.jp

PermitRootLoginを変更したい

f:id:zeroringo:20180717152224p:plain

まだクライアント側で操作をしています。

$ sudo vi /etc/ssh/sshd_config

で設定を変更していきます。

#PermitRootLogin yes#PermitRootLogin noに変更し、ルートでログインするという危険な状態にしない様にするのが目的です。

設定を見てみると文字が多いのでPermitRootLoginを検索してみました。

/を入力すると検索できるぞ!

【初心者向け】viでの文字列の検索方法を一通り

prohibit-passwordって何さ?

PermitRootLoginで検索すると2hitします。

#PermitRootLogin prohibit-password

# the setting of "PermitRootLogin without-password".

多分上を弄れば良いのでしょうがprohibit-passwordってなんぞ? f:id:zeroringo:20180712115437p:plain マニュアルを見てみるも良く解らなかったのですが

  1. 初期設定がprohibit-passwordになっていること。
  2. prohibit-passwordとwithout-passwordと同じ設定っぽい

ということが解りました。

じゃあwithout-passwordって何?

prohibit-password=without-passwordっぽいことが解ったのでwithout-passwordについてググりました。

ご存じですか? sshd_config の PermintRootLogin の各種パラメータについて

without-password 「rootでログインしたいけど、パスワードのみの認証だと不安・・・。」 そういった場合に利用できるのが、without-password です。 読んで字の如くですが、このパラメータを指定すると rootユーザのみパスワード認証を拒否することができます。 ではどうやって認証するのかというと、公開鍵認証を使うわけですね。 rootのパスワード認証を取りやめるだけでも不正アクセスをされるリスクがグンと下がると思います。

あーそういうことね完全に理解した(解ってない)

prohiibt-passwordでも以前のデフォルト値yesより安全っぽいんですが、多少はなんか出来るっぽいのでnoの方が完璧なのかな?

保存時エラーの対策

という訳でnoに変更し保存しようとしたところ E212: 書き込み用にファイルを開けません」というエラーが出たので対策

vimのsudo忘れで保存できないときの対策メモ

:w !sudo tee % > /dev/null

で保存ができました。

やったー

追記

設定ファイルは初期ではコメントアウト#されています。 だからnoに変えるだけでなくシャープ#を消しましょう!。

SSHの設定 公開鍵の作り方に続きます。

APTについてのまとめ

debian9のapt 事情

APTついてブログにまとめなさいとのお題が出たのでAPTについてまとめてみます。

大体wikiからの引用です。

APT

APTとは

debianのパッケージ管理ソフトです。

f:id:zeroringo:20180719141419j:plain

「パッケージの管理はお任せ下さい。」こんな感じ?

フィヨルド生の方なら以前Linux戦記あたりでhomebrewをインストールしたかと思いますが、アレのdeian版の様です。

以前はapt-getが使われていたそうですがdebian8からaptコマンドが推奨されているようです。

参考URL

パッケージ管理ソフトとは

ソフトウェアをインストールしたり、削除したり、バージョンアップの管理などをしてくれるすごいやつ。

APTの機能

  1. 依存 パッケージを導入するのに欠かすことのできないパッケージ。

  2. 推奨 無くてもよいが、プログラムの機能を利用するために通常は導入するパッケージ。

  3. 提案 無くてもよいが、導入することによってプログラムの機能を向上させるパッケージ。

  4. 衝突 パッケージを導入することで、同一の機能を有するなどの理由で削除されるパッケージ。

らしいです。

ややこしいのでご飯で例えて理解してみました。

依存

ご飯におけるお茶碗と箸です。

ご飯を机のうえに盛られても食べられない事はないけれど辛いですね。

責めて何かの器に盛って欲しいし、お箸じゃなくても良いから食べる為の食器が欲しい。

ご飯食べるなら器と食器セットで欲しいじゃないですか。

ご飯は器と食器に依存してるわけです。

これが依存。

オニギリだとしてもラップとかアルミホイルとか海苔に依存している感じです。

昔々の話だと笹の葉とか

f:id:zeroringo:20180725112023p:plain

推奨

ちょっと待って白米だけだと寂しくない?

ご飯におかず欲しいじゃないですか

無くても食べれるけれど、私はご飯を食べる場合は通常おかずを用意します。

白米だけで食べるって事をしたのはいつだったのか記憶にないぐらいです。

無くてもよいが、プログラム(ご飯)の機能を利用するために通常は導入するパッケージ(おかず)。

これが推奨。

f:id:zeroringo:20180719142419p:plain

提案

ズバリ私にとって味噌汁です。

無くてもよいが、導入することによってプログラム(ご飯)の機能を向上させるパッケージ。

特に冬場は嬉しいです。

これが提案

f:id:zeroringo:20180719142430p:plain

衝突

パン。

いやご飯食べてるのにパンて

炭水化物取りだからどっちかにしなさい!

これが衝突

f:id:zeroringo:20180719142537p:plain

こんな感じのことを自動でやってくれるイメージです。

田舎のお母さんかな

f:id:zeroringo:20180719142407p:plain

因みにご飯の例えを出しましたが私は炭水化物はさつまいもかバナナ派です。

最強の炭水化物、それは「サツマイモ」

どうでも良いですね、はい

APTコマンドの使い方

そんなAPTさんですが色々な使い方がある為か使用する時はaptだけでなく他のコマンドを組み合わせて使うようです。 wikiに載ってるやつです。

vimをダウンロードする

apt-cache search ^vim$ で検索するとvim$を使ったのに5つの検索結果が出てきてしまいます。

どれをインストールすればええんじf:id:zeroringo:20180711152549p:plain

ところが apt saech ^vim$ で検索すると一つしか出ません やった!

apt-cacheはapt-getみたいに古いコマンド何ですかね。

という訳で早速 apt install ^vim$ でインストールしてみました。

何だかよく分からない文字列が出てきてしまった… f:id:zeroringo:20180711152614p:plain

一行目の文字列を検索してみるとエラーっぽいんですよね。 f:id:zeroringo:20180711155554p:plain そして、二行目を見てみるとrootという文字が これルート権限じゃないとインストール出来ない仕様なのでは?と思いsudoで実行してみると f:id:zeroringo:20180711160349p:plain ぐわーっと文字列が流れてY/nという文字が出ました。 「インストールしますか?Yはい、nいいえ」なのかなと思いYを入力 また文字列が流れました。

5つのサイトが表示され最後にインストールという文字では無くアップデートという文字が最後に並んでいます。 元々vimが使えたのでアップデートされたのかな?

これでインストール出来たんじゃないかと

以上です。

f:id:zeroringo:20180719142558p:plain

関連記事

zeroringo.hateblo.jp

さくらVPSがUSキーボード使いのvimmerを殺しにかかってくる件について

f:id:zeroringo:20180712163724j:plain

 

さくらVPSVNCコンソール「貴様USキーボード使いのvimmerだな、死ねッ!」

f:id:zeroringo:20180712163106j:plain

私はMacのUSキーボードを使っているのですが、さくらVPSでdebiban9をセットアップしVNCコンソールからvimを使うと通常のキーボード入力が出来ずに困っていました。

特に: (コロン)が打てないのが致命的で、vimを終了する事が出来ずコンソールを強制終了させても再びコンソールを立ち上げるとvim操作のところから開始になってしまう様で辛かったです。 絶対勝てないボスの前で強制セーブされてしまった様な絶望感。

どうもUSキーボードとdebianとさくらVPSVNCコンソールの相性が悪い様だと以前ミートアップで会った方が教えてくれました。 何だそのピンポイントな相性の悪さはやめてくださいおねがいします。

さくらVPSのシリアルコンソール(β版)「USキーボード使いのvimmerか、通って良し!」

f:id:zeroringo:20180712162914j:plain

解決策です。

さくらVPNVNCコンソールでは無くシリアルコンソール(β版)を使う。 以上。

 

さくらVPSは現時点ではVCNコンソールとシリアルコンソール(β版)の二つのコンソールのどちらかを選べる様になっておりシリアルコンソール(β版)の方を選ぶとvimが普通に動きます。

VNCコンソール版と違う画面が出ますが、user名を入力しパスワードを入力すると普通に使えます。

  :が打てる幸せ。 幸せって案外身近な所にあるんですね。

 

問題点

これでいい気もするんですが、結局VNCコンソール使えてないやんってトコが問題です。

シリアルコンソール(β版)しか使えないと何かの拍子にこれが使えなかった時死ぬ訳です。

人間辞めるの?それともVimmer辞めるの?って話ですよ奥さん!。

しかも、シリアルコンソール(β版)ですよシリアルコンソール(β版)!!

 (β版)ってホラー映画で一番最初に死ぬやつじゃないですかー、やだー

  f:id:zeroringo:20180712164601j:plain

ベータ版(ベータばん、β版)とは、正式版をリリース(公開)する前にユーザーに試用してもらうためのサンプルのソフトウェアである。ベータバージョン、試用版(しようばん)という場合もある。

ベータ版 - Wikipedia

 

 (β版)って事は仕様変更されるんでしょうし、仕様変更された時に使えなくなる可能性もある訳です。

それは問題なのでやっぱりVNCコンソールでも普通にvimが動く様に出来たら良いですよね。

 

さくらVPSVNCコンソール「USキーボード使いのvimmerだと、しかしこの通行手形は…、通って良し!」

f:id:zeroringo:20180712162653j:plain

という訳で先達が残してくれた秘伝の書です。

さくらVPSのVNCコンソールでコロンが入力できなかったので対策した話 キー配列の変更方法

これの通りにやったらUSキーボードでもvimが問題なく使える設定にする事が出来ます。

しかし、私は微妙に引っ掛かってしまった箇所があったので以下に手順の詳細をまとめます。

 f:id:zeroringo:20180712164004p:plain

詳しい手順

  1. まず、さくらVPSのサーバーの電源を切ります。
  2. 各種設定からサーバー情報を選びます。
  3. VNCコンソールキー配列がjaになっているのでen-usに変更します。
  4. 設定するというボタンを押し設定の保存をします。

以上です。

 

電源を切る手順なんですが私の場合は

  1. vimを終わらせられない為VNCコンソール×ボタンを押してウィンドウを消す。
  2. シリアルコンソール(β版)を立ち上げルート権限でログインする。
  3. poweroffかshutdown -h nowで電源を切る

という手順で電源を切りました。

 

これで設定が変更出来ていればVNCコンソールからvimが動くはずです。

電源を落としていないと設定が切り替わらないので電源を落とすのを忘れ無いように。

電源を落としていないと何度設定し直してもjaに戻ってしまうという無限ループを味わう事になり怖いです。

 

終わりに

この問題で詰まってしまいプログラミング学習の復帰に凄く時間がかかったので、私がつまずいた場所の対策をまとめてみました。

ここでつまずいた人はあまりいないそうですが、誰かの役に立てば幸いです。

 

解決に当たってフィヨルドブートキャンプの方々に助けてもらいました。

特に @sanfrecce-osaka さんには今回の参考サイトや電源切れていなかった問題の指摘をして頂き本当に助かりました。

ありがとうございました! 

下のURLは @sanfrecce-osaka さんのGitHubです。

 https://github.com/sanfrecce-osaka

 

ではー

フィヨルドブートキャンプ八日目 CSS課題制作2 

今日のローカル

今日はローカル参加出来ない予定だったのですが、急遽予定が変更になり行けることに。

参加時間が11:30〜19:00  内、休憩が一時間で6時間30分の学習といった所でした。

今日は一人ではなく、もう一名ローカル参加の方が来ていたのでぼっちではなかったです。

forkwellというプログラマー向けの求人サイトを教えて頂いたので、早速登録 フィヨルドブートキャンプは参加費がかかわらない変わりに、参加者が無事就職できたら合同会社フィヨルドにお金が入る仕組みみたいなのですが、フィヨルドが紹介してくれる就職先以外にforkwellの求人から就職しても良いらしいです。

給与、条件が良く見ているとやる気が出るらしいですが、ホントですね。 頑張ろう。

forkwell

CSSの課題制作

今日の進捗

today css_practice こんな感じです。 大まかな形が出来たので、細かい部分に取り掛かっています。

やったこと

  1. 全体の大きい場所のレイアウトをflexで整える。
  2. 背景に色を付け何がどこに聞いているのか確かめつつ進めました
  3. ヘッダーの部分は昨日やったので、コンテンツとフッター部分ですね。
  4. コンテンツの部分はflex-growで2:1の比率に整えました。
  5. フッターの部分はnavとsectionをwidth50%にして並べ、frex-wrapでその下にwidth100%にしたコピーライトを回り込ませました。

  6. 昨日上手く行かなかった、ヘッダーのADS(広告)が出来そうな気がしたのでやってみた所一応出来ました。 アンカーのコンテンツ部分が画像より少しだけ大きくなっているのと、ADSとコンテンツの間出来た小さい白い部分が気になり色々試してみたのですが上手く行か無かったので、切り上げて次へ anchor_height

  7. 次にコンテンツのarticle部分を進めました。

  8. アイコン以外は終わりました。アイコンは最後にまとめてやる予定です。
  9. 次のformに着手し始めたぐらいで終了時間になりました。

フィヨルドブートキャンプ七日目 CSSの課題の躓き

一人でCSSの課題をやっています。

CSSの課題制作を始めました。

段取りとイメージ

まずはどんな風にレイアウトしていったら良いのかをHTMLと見本画像を見比べながら描いていきました。 大枠の部分は何となくイメージはついてきたのですが、段取りがいまいち良く解っていません。

コンテンツの前のヘッダー、グローバルナビゲーション、パンくずリスト、広告バーナーの部分から進めていきました。

CSSの課題の躓き

CSSで実際に作ってみることにしました。 覚えたてのflexに挑戦しています。

最初は何とか上手く行っていたのですが、広告バーナーの部分でハマってしまいました。 top-adsのレイアウトが上手く行かないです。

やりたかったこと

  • ①バナーの上下左右、バナーとバナーの間を全て同じ感覚(1em)で空ける。
  • ②空いた場所に#eeeの色を表示させる。

結果

①は色々こねくり回して形だけは出来たのですが、②が上手く行かないです。 上下がbodyの暗い灰色になってしまいます。

上手く行かないのであっちこっち弄って足したり消したりを繰り返すんですが、上手く行かず頭がこんがらがってきます。

.top-ads のBOX .top-adsのCSS

.top-ads ul のBOX .top-ads ulのCSS

.top-ads img のBOX .top-ads imgのCSS

やったこと

  • ulのdisplayをflexにし、flex-direction: row;で横並びにする。
  • imgをブロック要素にし、widthを100%に指定し画像が親要素の幅で表示されるようにする。
  • imgのwidthをcalcで1emマイナスする。
  • マイナスした分をimgのmarginに0.5emすることでプラスし埋める。
  • ulの上下左右marginに0.5em足してimgと合わせて1emにしたい為、ulのwidthとheightからそれぞれ1emづつマイナスする
  • マイナスした分をulのmarginに0.5emすることでプラスし埋める。

失敗例

.top-adsの高さが足りないのかなと思いwidth: calc(100% + 2em);を追加。 同じ理由でimgの高さを100%で指定したり

といった感じです。

次回

次回はこれの続きか、解決できそうになかったらコンテンツ部分をやっていこうと思います。 明日は別の予定があるためローカルで参加するのは明後日になります。 以上です。

フィヨルドブートキャンプ六日目 レスポンシブWEBデザイン

ローカルで参加しています。 ただ、駒形さんと町田さんが昨日から深センに行っている為ボッチです。

こーひーおいしい

レスポンシブデザイン

昨日の続き、レスポンシブデザインから読み進めていきました。

Media Queries

難しい、良く解っていないような うなりながら文章を読みました。

プラウザが指定した幅、高さになった時にCSSを追加することが出来る。 追加したCSSでその幅、高さに合わせて綺麗に見える様にレイアウトを変更する事が可能。

ということは解りました。多分。

clearfix

clearfixについて学びました(主にclear: both;について) これは職業訓練校時代にもやった事があります。

仕組みの説明を読んでも余り理解出来ていないですが、floatだけだと下の要素が突撃して崩れてしまうレイアウトを崩れない様にするという事は解りました。

overflow: hidden;も職業訓練校時代に説明を受けたんですが、意味はさっぱり解らなかったです。 使い分け方とか有るんですかね?

clear: bothで駄目だっけれどoverfrow: hidden;を使うと何とかレイアウトが崩れずに済んだ事が有ったような。

でも、floatでレイアウトを整えるのでは無くflexでレイアウトを整える時代みたいなので(更に次のglidも来ている)、そもそもあまり使わないのかな?

余談

昨日progateでHTMLとCSSの上級編をやりました。

上級編がレスポンシブデザインについてだったからで、途中までやってみたのですがfloatを使った後のレイアウトの崩れを空のdivを作りclearfixを効かせることで解決する箇所が合り、おかしいのでは?とツイートするとCTOにファボラれました。

HTMLにデザインの為の空div作るのはセマンティック的におかしいので、CSSのafter:childで解決するのが良いはず。 それで良いはず、セマンティック的という日本語以外は良いはず。

IE hack

英語をグーグル翻訳しながら解読 解っているんだかいないんだか(いない)

IE8以前の特定のブラウザにだけCSSを効かせることが出来るコマンドっぽい? インターネットエクスプローラーの古いブラウザではCSS3のプロパティーを含め対応していないプロパティーが多いので、古いブラウザでレイアウト等が崩れてしまう問題が有るのでそれに対応する用のコマンドなのかな?

良く解ってないけれどIEバルス

デザイン参照

ズルいデザインも職業訓練校で紹介され、見たことがあります。 本当にズルい(褒め言葉)

配色講座もズルくて、これなら僕でもデザイン出来るのでは、という気持ちになります。

ズルいデザインの作者の方のツイッターをフォローしたら、アイコン制作の新しいスライドが紹介されていたので見に行ったら、町田さんが出てきて笑いました。

ノンデザイナーのためのコンセプト & ロゴ作り実践講座 feat. savanna.io

思いやりとか意味わかんない。

CSSのアイコン作成

CSSで作られたアイコンはソースコードを一つ見て、こういうのもあるのかぐらいで流してしまっていました。 インタラクティブに学習出来てない!

clac()アクション

ボックスレイアウトで計算が楽になって便利ですね。 ただ、box-sizing: border-boxとキャラが被っているみたいなので、使う際にはどちらかを選ぶのかな。

その他

その他のCSSの練習の読む系のリンクに全て目を通しました。 ドットインストールのbootstrapは途中まで見て、Code Academyは見てないです。

明日はそれらの続きをやるか、CSSの課題の作成をしていこうと思っています。

ターミナルを使ってみる フィヨルドブートキャンプ2日目

ターミナルを使ってみた

 

ターミナルを使ってそれをブログに書くという課題が出たので初めてのターミナルについてブログに書いてみます。

 

ターミナルを開く

スクリーンの何も無い所でクリックした後、メニュー(左上)の画面の移動からアプリケーションをクリックしアプリケーションフォルダを開く。

f:id:zeroringo:20180403115156p:plain

 

アプリケーションフォルダのユーティリティーをクリック

f:id:zeroringo:20180403114548p:plain

 

ターミナルをクリック

f:id:zeroringo:20180403114715p:plain

 

ターミナルが開けました!

f:id:zeroringo:20180403114814p:plain

 

 

ターミナルコマンド

またメニューの移動を選びフォルダへ移動をクリック

f:id:zeroringo:20180403115156p:plain

 

入力を求められるので/binと入力しエンター

f:id:zeroringo:20180403120431p:plain

すると…

 

 

f:id:zeroringo:20180403120817p:plain

何やこいつ

黒い画像に謎のアルファベットが書いてあります。

この謎のアルファベットを先程立ち上げたターミナルに打ち込む事でターミナルを操作できます。

 

ターミナルにコマンドを打ち込む

ls(リスト)コマンドを打ち込んでみる

f:id:zeroringo:20180403132908p:plain

凄い

何かプログラマっぽい

以上です。