今日のお勉強。171106-sshの基本

sshの基本。171106

作業に夢中になってたら気づいたら遅くなってました…。

 

今日はターミナルからssh繋げておりました。

パスフレーズがわからなくて悩んだりもしました。

 

 

復習として。

 

サーバーにsshでつなぐコマンド

$ ssh 【ユーザー名】@【ipアドレス

$ パスワード

 

だったのですが、

 

上記のコマンドが、公開鍵でつなぐことによって、パスワード入力が必要なくなりましたのはとても便利です!

 

ssh-keygen

SSHで利用する認証用の鍵を生成・管理・変換するコマンド

 

 

▼参考にした記事▼

 

公開鍵認証によるSSH接続 - Macターミナルの使い方 - Linux入門 - Webkaru

 

ポート番号 - Wikipedia

 

HerokuでSSH公開鍵(publickey)のpassphraseを求められたら - Qiita

 

公開鍵認証によるSSH接続 - Macターミナルの使い方 - Linux入門 - Webkaru

 

 

学習した感触ですが、ローカル側で鍵を生成してsshに設定して、サーバー側にも同じ鍵をsshに設定していくイメージです。

 

 

ポート番号とは?

あと、ポート番号から侵入する手口は「バックドア」と言うようです。

注意する番号は、22、53、80、443だそうです。

 

そういえば職場でも、「メールサーバーのポート番号は変えた方がいい」とか言ってた気がしますが、そういうことだったのですね!

 

 

 

 

今日のお勉強171029-sudoをインストールする

sudoをインストールする。171029

sudoとは 

sudoとは、一般ユーザーがsudoコマンドを使うことによって、ワンショットで、root権限しかできないことがその時だけできるようになることです。

本来なら、su と、コマンドを打ってパスワード書いてrootユーザーに切り替えなければならないところを、sudoを使えばその手間を省くことができるそうです。便利。

 

 

# apt-get install sudo

 

でインストールした後、

 

# visudo

 

と書いたら、viではないエディタで表示されまして。

 

「終了の仕方わからない!終了できない!」

 

と、焦りましたがnanoエディタと気づくのに少し時間かかってしまいました。

 

nanoとわかってから調べると、

 

Ctrl + x

 

で終了できるそうです。

http://www.obenri.com/_nano/close_nano.html

 

 

その後、

case $TERM in

          linux) LANG=C ;;
          *) LANG=ja_JP.UTF-8 ;;

esac

 

と、記述したら、英語で表示されるようになってしまいました。

$ fbterm

と、前回インストールした日本語を、コマンドを打っても日本語が出てこない。

 

記述を消すと、日本語が出るようになる。

 

なぜなのでしょう…。

 

 

 

SSH

設定に手間取って時間かかるかもと思ったので、SSHについて調べたりしました。

SSHとは、暗号化してくれるプロトコルだそうです。

 

SSLと似てます。そういえばITパスポート勉強してた時も、SSHSSLの違いって出てきたような気がします。あまり覚えてないので調べてみました。

ssl と ssh の違いを比較表で説明

 

 

大まかな違いは、SSLはブラウザとサーバーの間を。

 

SSHは機械間を暗号化するそうです。

 

 

他にもそれぞれ違いはありますが、次回はSSHの設定を頑張ります。

 

 

 

 

今日のお勉強。171027-aptの基本

aptの基本。171027

 vimとfbtermをインストールしました。

Debian(Ubuntu)で コンソールに日本語表示してみた | レンタルサーバー・自宅サーバー設定・構築のヒント

 

Fbterm - ArchWiki

 

 

$ fbterm

と、コマンドを書くと、日本語が表示されるようになりました!

 

$ vim

と、書くと、エディタが出てきますが、インサートモードで日本語入力ができないのはなぜなのでしょうか。

 

 

aptとは

 

「apt とは」で検索してみたら、apt攻撃。というキーワードが出てきました。サイバー攻撃の一種としてそうゆう攻撃があるようです。知らなかった。

www.symantec.com

 

 

今日お勉強したaptとは、Advanced Packaging Toolの略で、ソフトウェアの導入や管理、削除に用いられるパッケージ管理システムの一つ。debian用に開発された、パッケージシステムのこと。だそうです。

(パッケージとは、ソフトウェア的なもの。)

ダウンロード(インストール?)やアップデートもできちゃいます。

APTとは - IT用語辞典

 

 

apt攻撃の方は、Advanced Persistent Threatsの略で、持続的標的型攻撃だそうです。なんかこわい。

APT(持続的標的型攻撃)とは - IT用語辞典

 

 

aptとは2

APT - Wikipedia

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

 

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

 

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

 

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

 

 

apt-get

 vimをインストールしようとした時、インストールができなくてエラー起こしてしまいました。

調べてみると、

【Ubuntu】 vimがインストールできない? - oyuyu blog

の記事の中で、apt-get 自体をアップロードするとインストールできるようになる。ということが書かれていたので試してみると、できました!!apt-get が古かったのでしょうか。

 

 

apt-get install

パッケージをインストール

 

 

apt-get remove

パッケージを削除

 

 

apt-get update

パッケージをアップデート

 

 

apt-cache search

パッケージを検索

 

 

apt-cache show

パッケージの情報表示

 

LinuxのDebian系パッケージ管理 apt系コマンドの使い方

 

 

 

 

今日のお勉強。171025-Linuxファイルの操作と基本。

Linuxのファイル操作の基本。171025

今日はここまで読み進めました。 

 

itpro.nikkeibp.co.jp

 

linux全般編は終了。 

 

 

再入門 体で覚えるLinuxの基本 - シェル・スクリプト(その1:シェル・スクリプトとは):ITpro

 

のページの中の、

# ! /bin/sh

という1行がよくわからなくて調べてました。

1行というか、 # ! の部分ですが。

 

そしたら、「# ! 以降のスクリプトを実行するシェルプログラムを指定」ということが書かれており、ようするに、言語を指定しているのでしょうか。

 

Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (Ruby 2.4.0)

Rubyの起動 (Ruby 2.4.0)

 

例えば、まだ私はRubyのことを全然知りませんが、

# ! ruby

で、「これはRubyスクリプトですよ」ということを知らせる。というイメージをしております。

 

 

sh コマンドで実行

再入門 体で覚えるLinuxの基本 - シェル・スクリプト(その1:シェル・スクリプトとは):ITpro

 

のページの中で、サンプルとして書いたスクリプト

$ sh sample

で、sampleの中身を実行してくれることに感動しました。

 

 

 

基本文法

 for文、while文、break文は他の言語にも出てきますので意味は知ってましたが、exit文、case文、until文などは初めて見ました。

 

 

exit文

スクリプトの実行を終了

 

 

case文

条件分岐。javascriptで言うswitch文に似ている気がする。

 

 

until文

繰り返し文。○か×かで例えるなら、whileは○だった時に繰り返す。untilは×だった時に繰り返す。という違いがある。

do while が存在するが、do until も存在する。

 

 

 

いろんなコマンド

 uname

システム情報を表示する

 

 

hostname

ホスト名の設定と表示する

 

 

uptime

システムがどれくらいの間稼働しているか表示

 

 

ps

実行中のプロセスを表示

 

 

date

日付時刻を表示。

 

 

whoami

現在のユーザーIDに対応するユーザー名

 

 

last

最近ログインしたユーザーのリストを表示

 

 

 

 

今日のお勉強。171014-Linuxのファイル操作の基本

Linuxのファイル操作の基本。171014

今日はここまで学習しました。

itpro.nikkeibp.co.jp

 

 

今日も色々なコマンドが出てきて、勉強になりました。 

 

コマンドって、入力するの未だに怖いと感じてる部分もあり、これやったらどうなっちゃうのだろう。どう設定されちゃうのだろう。と、未知なことに対する興味と恐怖も同時にわきます(苦笑)

 

日本語入力すると出てこないし、警告などの出力もダイヤ♦︎のマークしか出てこないので、どうやったら設定できるのだろう。と、同時に探しておりました。

 

www.server-world.info

 

www.linux.net-japan.info

 

setting-tool.net

 

色々調べたけど未だに設定できておりません…。次の機会こそ!

 

 

 

さてさて本題。

 

正直あまりピンときませんでしたが、linuxのファイルは3種類。という概念?を覚えました。

itpro.nikkeibp.co.jp

 

 

 アンマウント・unmount

例えばUSBを外す時、安全に外せるようにするために行う。アンマウントしないとデータが破損するおそれがある。

アンマウント - 意味・説明・解説 : ASCII.jpデジタル用語辞典

 

 

エイリアス・alias

エイリアスを作る?設定しておく?と、コマンドを打っただけで、設定したエイリアスの指示通りやってくれる。手間が省ける。エイリアスを無効にする時はアンマウントする。

エイリアス - 意味・説明・解説 : ASCII.jpデジタル用語辞典

エイリアス(alias)とは

 

 

man

$man 【何か】

で、【何か】を説明してくれる、マニュアルを出してくれるコマンド。

eng-entrance.com

 

 

history 

 $ history 5

で、過去最新にやった5つのコマンドが出てくる。

!4 と打つと、過去最新やったコマンド4つ目のコマンドを実行できる。

(4×3×2×1に見えて仕方ないですが…それは4!ですね。)

 

 

シェル

Linux でターミナルソフトを利用する場合、ユーザはプロンプトで操作目的のコマンドを入力し、そこで表示される結果を見てまた次のコマンド入力を行う、というサイクルで対話的な作業を行う。

シェル設定ファイルの先頭の文字は「.」

.bash など。

 

 

 

 

 

今日のお勉強。171011-Linuxのファイル操作の基本

Linuxのファイル操作の基本。171011

itpro.nikkeibp.co.jp

 

今日はファイルの仕組みと操作方法1〜5まで進めました。 

 

rm とか cp とか mkdir とか、楽しかったです。

 

 

~

/home/【ユーザー】を~で表すことができる。

例えば、

/home/【ユーザー】/abc/def/

~/abc/def/

で表すことができる。省略化!便利。

しかも

/ ルートディレクトリにいるときでも、

$ cd ~

と書くと、

/home/【ユーザー】

へ階層を移動できるのです。

 

 

cat

中身を見ることができるコマンド。

$ head 【ファイル名】

と書くと最初の10行。

$ tail 【ファイル名】

と書くと、最後の10行。

 

 

touch

新規ファイル作成。

 

mkdir

新規フォルダ作成。

 

cp

コピー

$ cp 【ファイル名】 【フォルダ名】

で、コピーペースト。

 

mv

移動

$ mv 【ファイル名】 【フォルダ名】

で、フォルダに移動。

例えるなら、切り取りペースト。

 

rm

削除

$ rm 【ファイル名】

で、削除ができる。

 

$ rm -i 【ファイル名】

オプションで、iをつけると、確認メッセージが出てくるので、yと入力すると削除される。

 

rmdir

フォルダ削除。

フォルダの中身空にしないとフォルダを削除できない。

rm で対応もできる。

 

 

 

ところで、viのインサートモードでも、日本語入力できませんでしたし、findコマンド使うときもフォルダをrmするときも確認メッセージなどがダイヤマークしか出てきませんでしたが、日本語は出てこない仕組みになっているのでしょうか。

 

 

 

 

今日のお勉強171001-Linuxのファイル操作の基本

ブラウザ(safari)がまた調子悪いため、代わりにchromeを。

快適。 でも、safariどうしちゃったんだろう。

 

Linuxのファイル操作の基本。171001

 

再入門 体で覚えるLinuxの基本 - ログインとログアウト(4:ログアウトとユーザーの使い分け):ITpro

 

さくらVPSで、ここまで進めました。

 

コマンドって慣れなのかもしれませんが、緊張します…! 

 

# useradd 【ユーザー名】

ユーザーを追加する。

 

# passwd 【ユーザー名】

ユーザーのパスワードを変更・設定する。

(簡単なパスワードだと、警告されてしまいます)

 

# userdel 【ユーザー名】

ユーザー削除

 

$ find

ファイルやディレクトリを検索するコマンド。

 

eng-entrance.com

 

 

ところで、追加したユーザー(すぐに消してしまいましたが)

/home のディレクトリではなく、なぜか / のディレクトリにできてしまいました。

でも、ls コマンドで見ると、作ったユーザーがどこにあるのかわからない。 / ディレクトリにも無い。という状態でした。

exit でログアウトして、追加したユーザーでログインすると入れました。

 

その後 userdel コマンドで実行したら消えてえしまいましたが…。

findコマンドでちょっと探してみたのですけど、結局どこにあったのか謎です。

 

 

あと、shutdown コマンドは、root権限でないとできないのですね!勉強になりました。

 

 

# shutdown

シャットダウン。

shutdown -r now で、今すぐ再起動。

shutdown -h now で、今すぐシステムをシャットダウン。

 

 

一般ユーザーでシャットダウンはできないのですが、

/sbin/shutdown

に、

【ユーザー名】 【ホスト名】=/sbin/shutdown/

-h now

と、追記すると、一般ユーザーでもsudoコマンドを使えばシャットダウンができるようになる。

 

ということが書いてありましたが、

/sbin/shutdown/

で追記してみようと思ったら、文字化けのような文字が大量に出てきてかなり焦りました。すぐに閉じましたけど。

 

 

「再入門 体で覚えるLinuxの基本」に書いてあるのは、VPSやサーバーではなく、パソコン本体のターミナルなどの環境で書いてあるのでしょうか?

(?_?)