今日のお勉強。171106-sshの基本
sshの基本。171106
作業に夢中になってたら気づいたら遅くなってました…。
今日はターミナルからssh繋げておりました。
パスフレーズがわからなくて悩んだりもしました。
復習として。
サーバーにsshでつなぐコマンド
$ パスワード
だったのですが、
上記のコマンドが、公開鍵でつなぐことによって、パスワード入力が必要なくなりましたのはとても便利です!
ssh-keygen
SSHで利用する認証用の鍵を生成・管理・変換するコマンド
▼参考にした記事▼
公開鍵認証によるSSH接続 - Macターミナルの使い方 - Linux入門 - Webkaru
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について調べたりしました。
SSLと似てます。そういえばITパスポート勉強してた時も、SSHとSSLの違いって出てきたような気がします。あまり覚えてないので調べてみました。
大まかな違いは、SSLはブラウザとサーバーの間を。
SSHは機械間を暗号化するそうです。
他にもそれぞれ違いはありますが、次回はSSHの設定を頑張ります。
今日のお勉強。171027-aptの基本
aptの基本。171027
vimとfbtermをインストールしました。
Debian(Ubuntu)で コンソールに日本語表示してみた | レンタルサーバー・自宅サーバー設定・構築のヒント
$ fbterm
と、コマンドを書くと、日本語が表示されるようになりました!
$ vim
と、書くと、エディタが出てきますが、インサートモードで日本語入力ができないのはなぜなのでしょうか。
aptとは
「apt とは」で検索してみたら、apt攻撃。というキーワードが出てきました。サイバー攻撃の一種としてそうゆう攻撃があるようです。知らなかった。
今日お勉強したaptとは、Advanced Packaging Toolの略で、ソフトウェアの導入や管理、削除に用いられるパッケージ管理システムの一つ。debian用に開発された、パッケージシステムのこと。だそうです。
(パッケージとは、ソフトウェア的なもの。)
ダウンロード(インストール?)やアップデートもできちゃいます。
apt攻撃の方は、Advanced Persistent Threatsの略で、持続的標的型攻撃だそうです。なんかこわい。
aptとは2
依存 - パッケージを導入するのに欠かすことのできないパッケージ。
推奨 - 無くてもよいが、プログラムの機能を利用するために通常は導入するパッケージ。
提案 - 無くてもよいが、導入することによってプログラムの機能を向上させるパッケージ。
衝突 - パッケージを導入することで、同一の機能を有するなどの理由で削除されるパッケージ。
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
今日はここまで読み進めました。
linux全般編は終了。
再入門 体で覚えるLinuxの基本 - シェル・スクリプト(その1:シェル・スクリプトとは):ITpro
のページの中の、
# ! /bin/sh
という1行がよくわからなくて調べてました。
1行というか、 # ! の部分ですが。
そしたら、「# ! 以降のスクリプトを実行するシェルプログラムを指定」ということが書かれており、ようするに、言語を指定しているのでしょうか。
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 も存在する。
いろんなコマンド
システム情報を表示する
hostname
ホスト名の設定と表示する
システムがどれくらいの間稼働しているか表示
ps
実行中のプロセスを表示
date
日付時刻を表示。
whoami
現在のユーザーIDに対応するユーザー名
last
最近ログインしたユーザーのリストを表示
今日のお勉強。171014-Linuxのファイル操作の基本
Linuxのファイル操作の基本。171014
今日はここまで学習しました。
今日も色々なコマンドが出てきて、勉強になりました。
コマンドって、入力するの未だに怖いと感じてる部分もあり、これやったらどうなっちゃうのだろう。どう設定されちゃうのだろう。と、未知なことに対する興味と恐怖も同時にわきます(苦笑)
日本語入力すると出てこないし、警告などの出力もダイヤ♦︎のマークしか出てこないので、どうやったら設定できるのだろう。と、同時に探しておりました。
色々調べたけど未だに設定できておりません…。次の機会こそ!
さてさて本題。
正直あまりピンときませんでしたが、linuxのファイルは3種類。という概念?を覚えました。
アンマウント・unmount
例えばUSBを外す時、安全に外せるようにするために行う。アンマウントしないとデータが破損するおそれがある。
アンマウント - 意味・説明・解説 : ASCII.jpデジタル用語辞典
エイリアス・alias
エイリアスを作る?設定しておく?と、コマンドを打っただけで、設定したエイリアスの指示通りやってくれる。手間が省ける。エイリアスを無効にする時はアンマウントする。
エイリアス - 意味・説明・解説 : ASCII.jpデジタル用語辞典
man
$man 【何か】
で、【何か】を説明してくれる、マニュアルを出してくれるコマンド。
$ history 5
で、過去最新にやった5つのコマンドが出てくる。
!4 と打つと、過去最新やったコマンド4つ目のコマンドを実行できる。
(4×3×2×1に見えて仕方ないですが…それは4!ですね。)
シェル
Linux でターミナルソフトを利用する場合、ユーザはプロンプトで操作目的のコマンドを入力し、そこで表示される結果を見てまた次のコマンド入力を行う、というサイクルで対話的な作業を行う。
シェル設定ファイルの先頭の文字は「.」
.bash など。
今日のお勉強。171011-Linuxのファイル操作の基本
Linuxのファイル操作の基本。171011
今日はファイルの仕組みと操作方法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
ファイルやディレクトリを検索するコマンド。
ところで、追加したユーザー(すぐに消してしまいましたが)
/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やサーバーではなく、パソコン本体のターミナルなどの環境で書いてあるのでしょうか?
(?_?)