MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

ネットワーク初心者のためのssh入門

目次

はじめに

おそらく、

ターミナルで生活するエンジニアにとって、

sshは最も利用するツールの一つだと思います。

 

今回は、

ネットワーク技術初心者である

自分のような人のために、

sshの各種オプションなどの使い方をまとめました。

 

sshとは

sshはSecure SHellの略で、

暗号化された通信を元に

リモートマシンを操作するツールです。

 

LinuxやMacにはコマンドラインツールとして

デフォルトでインストールされており、

WindowsもGit for windowsをインストールすればついてくる

Git bashを使えば同じsshコマンドが利用できます。

 

sshの基本的な使い方とオプション

基本的には、下記のような使い方で、

ネットワーク先のコンピューターにログインできます。

 

あるIPアドレスにログインする場合

$ ssh 192.168.0.1

ポートを指定

$ ssh 192.168.0.1 -p 8000

ログインアカウントを指定

$ ssh 192.168.0.1 -l root

こちらでもOK

$ ssh root@192.168.0.1

秘密鍵を指定してログイン

$ ssh 192.168.0.1 -i key.txt

クライアント側のIPアドレスを指定

複数のIPアドレスを持つコンピューターにおいて、

どのIPアドレスを元に接続するかを選ぶことができます。

$ ssh 192.168.0.5 -b 192.168.0.2

sshのバージョンを表示する

$ ssh -V

X11のGUIをssh越しに使う

X11で作成されたGUIアプリは、

sshでネットワーク越しに実行することができます。

まず、下記のように

$ ssh 192.168.0.1 -CX

-CXのオプションを指定してログインして、

あとはX11のアプリをログインコンソールから起動するだけです。

(オプションはXのみでもOKですが、Cを付けると

通信が圧縮されるので、レスポンスが早くなるようです)

 

sshポートフォワーディング

sshのサーバのみがアクセスできる

コンピューターにWebサーバが立っている場合、

下記のような設定を実施することで、

ローカルホストのポートにアクセスすると、

自動でsshのサーバを通じて、

目的のWebサーバに繋がることができます。

ssh ユーザ名@SSHサーバのアドレス -p sshサーバのポート -L ローカルマシンのポート:リモートマシンのアドレス:リモートマシンのポート

 

上記のように、

SSHポートフォワーディングを使えば、

sshサーバにログインできれば、

VPNをはらなくても、大抵のことが実現できますね。

 

sshサーバを立てて、外部から処理をする

Macの場合

下記のように、remote loginをオンして、

qiita.com

下記のように、公開鍵で認証できるようにすれば良い。

qiita.com

 

sshで対話的なコマンド入力を自動化する

sshとexpectという機能を組み合わせることで実現できます。

qiita.com

nogwg.com

 

.ssh/config

下記を参照することで、sshの様々な設定をすることができます。

qiita.com

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com