プログラミングを始めよう

ITというWordが無いころからIT業界へ入った私がこれからITを始める人の助けになるべく書いていきます。

sshの設定方法

前回も書きましたが、リモートでサーバに接続するためにsshの設定を変えます。

 

設定ファイルは/etc/ssh/ssh_config です。

 

ユーザIDとパスワードでterminalにログインして、以下で開きます。

 

$ sudo vi /etc/ssh/ssh_config (return)

直後にパスワードを聞いてくるので入力する。

 

すると、設定ファイルがviで開いてくるので、編集します。

編集の内容は、接続優先なので、セキュリティは後々記載したいですが、参考になる記事が他サイトにもありますのでそのようなところで学んで試してみて下さい。

 

設定ファイルはコピーしてバックアップをとっておくと良いでしょう。

 

今回接続できるように簡単に修正した部分は、以下です。

修正前のファイルと修正後のファイルの差分で示します。

!がついた行が差分です。具体的にはコメントカラム(#行)の#を削除して生かす修正をしています。

 

因みにこのキャプチャは既にteraterm接続後、teraterm上で修正したものです。

修正は、コマンドモードでカーソルを#状に移動して、xで#を削除します。

削除後はESCを押して編集モードからコマンドモードに抜けます。

 

これを繰り返して#を削除してください。

ファイル上部

【PR】

現品限り多数!パソコンがとにかく安い!【パソコン市場】

 

ファイル下部

【PR】

パソコンを1万円台からお探しなら「パソコン市場」

 

 

sshの設定などは以下のサイトが参考になります。

tech.nkhn37.net

 

修正が終わったら、esc押下し、コマンドモードで :wq! のコマンドを入力してreturn押下してセーブしてください。

 

もしくはesc押下し、コマンドモードでshft+zzで保存終了してください。

 

次は修正した内容をサーバサービスに反映させます。

 

$ sudo systemctl restart ssh

 

を実行します。

【PR】

パソコン市場 公式オンラインショップ

 

 

その後、terminalを起動し、ますが、ubuntuIPアドレスを事前に調査しておく必要があります。

以下のように、ubuntuに認識されているインタフェース名に割り振られたIPアドレスをメモっておいて、teratermで接続先にこのIPアドレスを入力して接続します。

下記の「wlp3s0」のグループが、無線インタフェースを示します。

このインタフェース名はマシンごとに異なるので都度みて確認してください。

 

このグループ内の、inetがIPv4アドレスです。

ifconfig結果

 

teratermを起動して接続してみましょう。

 

【PR】

 

【PR】

小中学生専門のオンランプログラミングスクール【アンズテック】

 

【PR】

 

【PR】

【PR】

 

【PR】

 

【PR】

中古パソコンはこちら【Qualit】

 

teraterm でのssh接続1

ここまでで設定ファイルを編集する準備ができました。

 

sshで接続するには、sshサービスのソフトウェアをインストールする必要があります。

インストールするソフトはOpenSSHです。

 

インストールコマンドは、以下の通りです。

ubuntuのterminal画面から実行してください。

$ sudo apt install openssh-server

 

ここで「sudo」が先頭に出ていますが、これはシステム全体に影響を与える可能性があるコマンドを実行する際、必ず出てきます。

今回は、サービスをインストールするので環境が変わります。システムに与える影響は大きいのでsudoを使います。

 

sudoとは、スーパーユーザでdo(実行)することを意味すると考えておいて下さい。

 

スーパーユーザとは、システム上で何でも実行可能なユーザ名を示し、実際はrootになります。

 

rootはubuntuインストールの際は一切出てきませんでした。皆さんはユーザIDとパスワードを選択して入力されたと思います。ここから先は、その時に決定したユーザIDとパスワードを使いますので準備が必要です。覚えていますか?

 

OpenSSHのインストールが終了したら、設定を変更します。

今回、ターミナルをつないで学ぶ目的なので、接続することを優先します。

セキュリティ設定も設計の上、設定値を決める必要があるのですが、まずは接続優先にします。

次回から設定値の変更と接続試行を書いていきます。

【PR】

 

【PR】

 

【PR】

【PR】

学習コース_大学生向け就活対策コース

 

【PR】

Linuxコマンド(基本)

先日、編集に必須のviコマンドについて書きましたが、ここから先は基本的なLunuxコマンドを合わせて知っておくと色々試してみたり、新たな欲求が出てくると思われますので、いくつかLinuxコマンドの説明を書いておきます。

 

Linuxコマンドは、数多く、種類も多いので全てを把握することはできません。

 

全てを把握する必要はなく、今、必要な処理に合致したコマンドを即座に判断して試すことができる方がより実務に役立ちます。コマンドを覚えるには、一度使ったことがあるコマンドは、自分のものにして、使いこなせるようになっておいて下さい。

 

プロジェクトを変わっても、コマンドの知識は有効で長く使えます。どんどんコマンドを覚えましょう。

 

Linuxコマンドの参考にしているサイトは以下のサイトをよく使います。

ここに記載がある内容は、manコマンドで表示できますが、見にくいのでWebで見ています。

JM プロジェクト JM Project (Japanese)

 

このサイトで調べたいコマンドを検索して探します。

 

1つのコマンドについて、数多くのオプションがあり、使い勝手がよいオプションもあるのでこれも覚えておくと良いでしょう。

 

ここから使えるコマンドと説明を追記していきます。

($はプロンプトといって、コマンド入力位置を示します。最近は自動でカスタマイズされてカレントディレクトリ名を含むプロンプトが主流になりつつあります。$はプロンプトを示すで覚えておいて下さい。)

$ pwd  :カレントディレクトリ(現在のディレクトリ)を表示する。

$ls    :ファイル一覧を表示する。

$ls -l   :ファイル一覧を1行1ファイルで詳細を表示する。

$ps -aux    :プロセス一覧を表示する。

      -auxはpsコマンドのオプションで、他にも多くの組み合わせが存在する。

      詳しくはmanコマンドかJMプロジェクトで確認する。

$CTRL + D  コントロールキーとDを同時押し :ログアウト

$shutdown -h now :Linuxシステム停止・シャットダウン

 

【PR】

 

【PR】

基本コマンド vi

ずいぶん間があいてしまいました。

前回はubuntuのターミナルアプリから接続してみましたが、各種設定などの編集を行う上で、必ず必要になるコマンドviについて書いておこうと思います。

 

使い方は、ターミナル画面上で以下のように入力して起動します。

 

$vi [ファイル名]

ファイル名は新規でも既存ファイルでもOKです。新規は新たなファイルが新規で開かれます。

既存ファイルであれば、ファイルの内容が表示されます。

 

viエディタは編集モードとコマンドモードが存在し、ファイルを開いた直後はコマンドモードになっています。編集モードからコマンドモードに切り替える場合、esc(エスケープ)キーを押します。

 

編集誤りなどで一旦編集を終わりたい場合など、escを押します。

編集する場所に行きたい場合はコマンドモードで行います。

編集する場所にカーソルを移動して編集します。

全て半角英数字のみです。(全角文字もコメント等

 

編集モードのカーソル移動には以下のようなキーを使って移動します。

全て小文字キーです。大文字は別の意味を持ちます。

↓へ移動:j キー

↑へ移動:k キー

←へ移動:h キー

→へ移動:l キー

 

文字挿入: a キー、i キー

文字削除: xキー

行削除:dd  dキー2回押し

行追加:カレント行の上に追加 : Oキー(大文字)

行追加:カレント行の下に追加 : oキー(小文字)

行移動:コマンドモードで:  :[行番号]  コロン:行番号 (例):10 

 

基本的なコマンドを挙げてみました。他にもありますので調べてみてください。

 

【PR】

 

【PR】

 

接続準備

ゲストOS上でC言語の学習するうえで、ubuntuのターミナルを起動してコマンドを入力しましたね。

 

ターミナルウインドウでの使用用途は学習するうえで必須です。使い道はざっくり以下です。

 

C言語ソースファイルの編集・作成

・作成したCソースのコンパイル機械語に落とす

コンパイルしたC言語モジュールの実行

・実行後の結果確認

 

ここに書いた機械語に落とすとは、CPUが実行できるレジスタ命令群に変換して実行可能モジュールを生成することを意味します。

 

上記各項目は全て異なるコマンドを使いますので、全て使えるようにならないといけません。

 

それらはおいおい記事にします。

 

また、ubuntuのターミナルアプリは使い勝手が悪く、文字列のコピペがしにくいです。

 

仕事の場面では、OSのアプリのターミナルウインドウ画面はまず使いません。

 

ではどうするか。teratermtelnet接続またはssh接続してターミナルウインドウを使います。

 

ターミナルでのエディタはviです。テキストエディタはこれだけです。

 

コマンドモードの使い方は慣れるまで大変ですが、慣れればこれしか使えません。

 

まずはgccコマンドとviコマンドが使えるようになればいいと思います。

 

ターミナル上で、コマンド gcc を叩いてインストールコマンドが出たら記載の通り入力して待てばインストールされます。vi も同様です(たぶん)。

 

次回はvi エディタの操作を説明します。

 

 

 

【PR】start

----------------------------------------------------------

----【PR】-----------end

ちょっと仕事に関して ~ITエンジニアの種類~

開発環境の準備ができるまで、ITの仕事はどんな種類があるかを考えてみます。

下の図に、自分がITに入ったころの仕事の種類を書き出してみました。

 

もうかなり前なので古い情報があったり新しく増えた仕事があると思います。

でも、後者の方が圧倒的に多いはずです。

 

ITエンジニアの種類

今でもこの分類は通じるかもしれません。

今ではWeb系の業務が増えています。ITが廃れないのは、全ての産業界がITを必要としているからです。ITでコストダウンや効率化を進めたい為、ITのニーズは増えていますし、IT技術も常に進化しています。

常に新しい技術が研究され、実際に使われるように成ってきています。

今ならAIですね。chatGPTとか使ってみましたか?なかなか良くできています。

 

無料で使えるプログラムですが、ユーザIDとパスワードを登録すれば使えます。

 

このような新しい情報も常に見ておくと良いと思います。Web上のIT情報サイトやIT雑誌のサイトなど、いくつかお気に入りのサイトを毎日のぞいておくことを勧めます。

 

そうすれば、新しい情報に早く触れたり、知識として知っておくだけでもアドバンテージになるからです。これはIT技術者だけでなく、IT営業にも言えることです。

 

新しい技術は是非使ってみてください。好奇心は大事にしましょう。

 

まだまだあると思いますが、Webで調べた方が早いです。

 

因みに筆者は制御系でプラントなどの制御・監視系エンジニア出身です。

 

そのあと、様々な業務を経験して、現在はWeb系の仕事をやっています。

 

====【PR】 start=========================

=====【PR】 end==========================

私の環境のリソースが満杯近くになりましたので環境を変えます。

私のWin10 PCがLowスペックなのでリソースの空きがなくなってきました。

 

core-i5でメモリ8GByte、SSD128GByteなのでCPUはいいのですが、Disk(SSD)が小さすぎたので厳しくなってきました。

 

なのでPC入れ替えか、Linux専用マシン(メモリ8GByte、HDD500GByte)で今後進めようかと思います。Linuxマシンですが、これに仮想環境を入れてもできますが、細かいところは違うところがあるかもしれません。

 

遅くなるな。耐えられるか・・・・少しやりつつ安いWin10マシンも物色してみます。

 

ただ、もう開発できる状態になったので、あとは必要なコマンドをインストールして使うだけです。

 

ですのでプログラミングへの影響は少ないかと思います。

 

取り急ぎご連絡まで。

 

猛者を辞任される方は、独自に調べて試行してみましょう。