プログラミング

プログラミング初心者のためのはじめてのssh接続

Linuxパソコン・サーバーのコマンドライン、Bashプログラミング言語(スクリプティング言語)やWindows、Macでも利用可能なセキュアシェル、SSHについて、プログラミング初心者向けのチュートリアルを紹介します。

Q. どうやってssh接続すればいいの?

まずは基本用語を抑えよう。

cmd(DOS;batch) … windowsで広く普及しているシェル言語。あまり出番はないが、管理者権限の必要となる一部のpowershellが行えない操作で活躍するよ
powershell … windowsで広く普及しているシェル言語。最近オープンソース化されて需要が上がっているけどbashには及ばないよ。
bash … Linuxで広く普及しているシェル言語
WSL bash … Windows subsystem for Linux。最近のWindowsアプデで実装された新機能。windows上でbash言語が使えちゃうさいつよの代物だよ。
conemu … Windowsでシェル言語を扱うためのソフトウェア。ターミナルやコマンドライン、コンソールと呼ばれているよ。
xterm … Linuxでシェル言語を扱うためのソフトウェア。ターミナルやコマンドライン、コンソールと呼ばれているよ。
terminator … Linuxでシェル言語を扱うためのソフトウェア。ターミナルやコマンドライン、コンソールと呼ばれているよ。
コマンド … シェル言語の操作のこと。例えば新しいフォルダを作るmkdirなどがそれに当たるよ。コマンドは拡張的に増やすことができるけど、初期段階のLinuxでは700程度のコマンドが利用できるよ。
ssh … リモートにあるパソコン – ホストマシンと呼ばれるよ。反対にこちらで操作しているマシンはクライアントマシンと呼ばれるよ。 – にアクセスしたり操作したりするための技術だよ。sshでアクセスしたパソコン上では、bash言語やコマンドが自由に使えるよ。

これがconemu。

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_2768433e-d690-4966-844d-99511982f799.png

conemuをダウンロードしよう。

Download ConEmu latest release

wslをインストールしよう。

WSL bash on ubuntu on windows インストール手順

wslについてもっと知りたいかな?

WSL(Windows Subsystem for Linux)を初期から使っている僕がLinuxやプログラミングの初心者向けにWSLのメリットを解説してみる

今回は、conemu上でwsl bashを使用してssh接続を行うよ。

sshコマンドは以下のようなフォーマットだよ。

ssh -p [port] -i [identityFile] [username]@[host]

これを僕の環境でやると、以下になるよ。

ssh -p 10022 -i ~/.ssh/shit.key shit@sv7247.xserver.jp

まずは準備。

サーバー側でsshを有効化してね。

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_f2c800fb-de28-479f-8c85-1b272ce37126.png

アイデンティティファイルをダウンロードしよう。

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_ba0509b9-cf15-49b4-af89-7e425b8c1121.png

サーバーのホストアドレスを確認しよう。

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_dd2591d1-2f3c-4ac2-89ee-197b5a4f9e8f.png

コマンドの説明をしていくよ。

-p [port] … 普通は22ポートがsshのポートになっているよ。しかしながら、セキュリティ上の理由でポート番号を変えているサーバー管理者も多いよ。エックスサーバーもその一つで、10022がエックスサーバーのsshポートになるよ。

List of TCP and UDP port numbers – Wikipedia

-i [identityFile] … ダウンロードしたアイデンティティファイルのパスを入力しよう。/mnt/c/Users/user/Downloads/iden.keyみたいなファイル名になるよ。

[username]@[host] … sshコマンドの第一引数。ユーザー名とサーバー名を@でつなげて記述するよ。ホスト名はIPアドレスでもおkだよ。

コマンドがにゅうりょくできたら、enter。

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_8e573158-8b57-4ef5-8770-96cf40ccfb9b.png

アイデンティティファイルを作ったときに入力したパスワードを入力しよう

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_637c93c0-0610-4371-8bf0-3a2595b92977.png

これでリモートのサーバーにssh接続ができたことになるよ。

Q. sshクライアントってなに?

昔の人が使っていたものの名残だよ。使いたかったら使っても良いけどメリットはないよ。conemuなどのコンソールソフトウェアの機能制限版という認識でいいよ。
または、特定企業など使用できるソフトウェアが限定されている環境で使われることもあるね。

Q. sshって何ができるの?

sshはだいたい何でもできるよ。とても便利なのでぜひ使いこなしてほしい技術だよ。

rsync … ファイルをホストとクライアント間で差分バックアップできるよ。cpコマンドの強化版。とても早いよ。
sshfs … ファイルシステムをまるごとマウントできるよ。
ssh -t … トンネリング。複数のpcをssh接続の踏み台にできるよ。sshd_configファイルの編集で特定IPからのみアクセスを許可することによって、セキュリティを強化できるよ
ssh -R 52698:localhost:52698 … クライアントからホストへのポート転送
ssh -L 4567:localhost:4567 … ホストからクライアントへのポート転送
ssh -X … x11フォワーディングができるよ。wsl bash上やLinux上のソフトウェアをクライアントのlinuxやwindowsで開けるよ。

関連記事:

プログラミング学習で挫折する9割に入らない方法
プログラミングの意味って?勉強・学ぶ意味がないと思ってる人に読んでほしい
プログラミング初心者こそWSLを使うべき理由
今すぐできる超簡単なプログラミングの始め方【Windows・Mac】
海外のプログラミング質問サイトまとめてみた

Markdown初心者向けチュートリアル・主要タグの使い方を解説。
HTML入門・基本の書き方・編集方法から勉強方法まで徹底解説
無料でプログラミング入門・2020年最新のおすすめ学習アプリ
sublime text 3とかAtomとかVimとかあるけど、結局テキストエディタってどれがいいの?
プログラミング初心者にもわかりやすい正規表現完全入門

関連広告:

はじめてのプログラミングコース by テックアカデミー
Webデザインフリーランスコース by テックアカデミー
プログラミング&副業コース by テックアカデミー
エンジニア転職保証コース by テックアカデミー
初心者向けコース by Udemy

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です