目次
- 目次
- はじめに
- sshとは
- sshの基本的な使い方とオプション
- sshポートフォワーディング
- sshサーバを立てて、外部から処理をする
- sshで対話的なコマンド入力を自動化する
- .ssh/config
- 参考資料
- MyEnigma Supporters
はじめに
おそらく、
ターミナルで生活するエンジニアにとって、
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をオンして、
下記のように、公開鍵で認証できるようにすれば良い。
sshで対話的なコマンド入力を自動化する
sshとexpectという機能を組み合わせることで実現できます。
.ssh/config
下記を参照することで、sshの様々な設定をすることができます。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。