Teraterm②応用編(SSHポートフォワーディング、SCP転送、ブロードキャスト) | 若手エンジニアのブログ

若手エンジニアのブログ

文系出身の若手女子エンジニアによる技術ブログ。
日々の経験や学びをアウトプットするためにブログを書いています。
バックエンド(Java+SpringFramework)を経てインフラエンジニアになりました。
今は育休中につき、本で勉強したことを中心にアウトプットしています。

最近、Teratermで、ファイルをサーバにアップロードできる機能があることを知った。

せっかくなので、ファイルアップロード(SCP機能)以外の、Teratermの便利機能をまとめていきたい。

 

※Teratermの基本については以下参照

https://ameblo.jp/bakery-diary/entry-12620741466.html

 

 

※Teratermマクロはまだ挑戦できていないので、後日、気が向けば…。

 

もくじ

1.SSHポートフォワーディング ( 概要 / やり方 / 注意点 / 使い道例SSH接続をそのまま転送する / リモートデスクトップ接続に利用する ))

2.SCP転送 ( 概要 / やり方 / 補足 )

3.ブロードキャスト ( 概要 / やり方 / イメージ / 使い方

 

1.SSHポートフォワーディング

◎概要

そもそもポートフォワーディングとは…
特定のポート宛に届いたパケットを、指定した別の機器に転送する機能のこと。
ローカルネットワークとインターネットとのやりとりの中継のために使われることが多い。

 


このポートフォワーディング機能は、一見難しそうに見えるし、専用のソフトウェアが必要になりそうにも思える。

が、Teratermを用いることで、簡単に実現できる。

 

◎やり方

①踏み台サーバにTeratermで接続する。

②上側にあるメニューバーから、「設定」→「SSH転送」を選ぶ。

③「SSHポート転送」画面が出てくるので、「追加」を押下。

 

④ポート転送の詳細設定画面が出てくるので、

「ローカルのポート」に、ローカルホスト(自分の作業PC)で待ち受けるポート番号の情報を、

「リモート側ホスト」に、内部ネットワーク側サーバのIPアドレスと転送先ポート番号の情報を記述する。

ポートは、番号だけでなく、well-knownポートの名称指定も可能。

 

以下の例では、自分の作業PC(127.0.0.1)のポート番号10022にアクセスがあった場合、

内部ネットワーク側のサーバ(IP:192.168.1.10)の、sshポート(22番)に転送する設定としている。

 

⑤「OK」を押して設定画面を閉じる。

 

⑥上側にあるメニューバーから、「設定の保存」を押し、「TERATERM.INI」という

Teratermの設定ファイルを上書き保存する。

(保存し忘れるとうまく動かないので、必ず保存すること。)

 

 

◎注意点

「ローカルのポート」欄に記載するのは、文字通り作業PCのローカルホストのポート番号。

踏み台サーバのポート番号ではない。(最初踏み台サーバのポートだと思って失敗したのは私ですw)

 

 

◎使い道例

【1】SSH接続をそのまま転送する

 

踏み台サーバを経てしか接続できない、ローカルネットワーク内のマシンなどへのSSH接続を、

直接行いたい時に利用できる。

 

ポートフォワーディング機能を使わなくても接続は可能なことがほとんどだと思うが、

特に踏み台サーバが二重になっているなど、いわゆる多段接続を行う必要がある場合に、

何度も接続しなければならない手間を省ける。

 

踏み台サーバをあたかも介していないようにTeraterm接続やWinSCPの利用などが可能なため、

作業効率化に貢献できる。

 

SSH接続の転送先(ローカルネットワーク内のマシンなど)のポート番号は、22とすること。

 

設定例:

 

上記の設定で、ローカルネットワーク内のマシン(192.168.0.10)にSSH接続を行いたい時:

※ホストを、ローカルホストの「127.0.0.1」、

ポートを、「SSHポート転送」で設定したローカルのポートに設定するのがミソ。

 

 

 

【2】リモートデスクトップ接続

 

1つ目のSSH接続転送例と似たケースだが、

踏み台サーバ(Linux)を経てしか接続できない、ローカルネットワーク内のマシンが、

Windowsの場合に使える手段。

 

WindowsはデフォルトでSSH接続を許可していない。

そのためSSHを許可しようとしても、許可する準備としてインターネット接続が必要⇔ネット接続はできないマシンのために詰む… といったことがある。

 

そんな時に、踏み台サーバのTeratermでポートフォワーディング設定すると、

作業用PCからローカルネットワーク内のマシンへのリモートデスクトップ接続を直接的に行うことができるようになる。

 

リモートデスクトップ接続の転送先(ローカルネットワーク内のマシンなど)のポート番号は、3389とすること。

 

設定例:

 

上記の設定で、ローカルネットワーク内のWindowsマシン(192.168.0.10)にリモートデスクトップ接続を行いたい時:

 

※ホストを、ローカルホストの「127.0.0.1」、

ポートを、「SSHポート転送」で設定したローカルのポートに設定するのがミソ。

 

 

2.ファイルSCP転送

◎概要

Teratermを用いて、SCP(Sevure Copy Protocol)による、ファイル転送(アップロード/ダウンロード)ができる。

WinCSPなど、SCPによるファイル転送専用ツールもあるものの、

それらツールが使えない時や、ちょっとしたファイル転送を1つのターミナル上で済ませたい時などに便利。

◎やり方

①上側にあるメニューバーから、「ファイル」→「SSH SCP...」を選ぶ

②転送元のファイルパスと、転送先のファイルパスを指定し、「送信」を押す。

 

◎補足

ファイル転送後、

転送元のファイルと、転送先のファイルのそれぞれでファイルのハッシュ値を計算することで、

きちんと転送できたか(転送によりファイルが壊れていないか)を確認することもできる。

(ハッシュ値の計算方法はググってください)

 

 

3.ブロードキャスト

◎概要

複数のセッションターミナル(Teratermの画面)で、同時に同じコマンドを打てる機能。

◎やり方

①同じコマンドを打ちたい各ターミナル画面を、あらかじめ開いておく。

②上側にあるメニューバーから、「コントロール」→「ブロードキャストコマンド」を選ぶ。

 (どのターミナル画面でもOK。)

③「ブロードキャストコマンド」画面が出てきて、開いているターミナル画面が一覧化されるので、

 同じコマンドを打ちたいターミナルを全て選択する。

 

※オレンジの部分に、ターミナルの一覧が表示される(事情によりマスキングしております)

 

④「ブロードキャストコマンド」画面で、実行したいコマンドを入力し、「送信」を押す。

 

→③で選択した各ターミナルに対し、④で打ったコマンドが実行される。

 

◎イメージ

Qiitaのこちらの記事で、分かりやすいGif動画が挙げられていた。

(ほんまに分かりやすいのでぜひ見てみてください)

 

◎使い道

複数サーバに対し、同じ操作をしたい時。(そのまんまw)

 

例えば最近、複数台のサーバ構築に取り組んでいる私の場合、

社内サーバあるあるで、プロキシの設定を入れるという作業が、サーバ毎に発生する。

 

複数構築するどのサーバも同じ環境変数を設定するため、

複数台同時にコマンドを打てば1回の作業で済むので楽。

今後さらにプロキシ設定や、その他各サーバへの環境変数の追加などが発生しても、

ブロードキャストコマンド機能を使えば、作業の効率化が図れそうである。

 

 

今回は以上!