pageant ログイン

以下は Teraterm と pageant を組み合わせて利用する方式を説明しています。


本手順について

ssh は、生成した秘密鍵・公開鍵のセットのうち、公開鍵をログイン対象に登録した後、秘密鍵を利用して対象にアクセスする方式です。
Pageant は、秘密鍵の扱いを楽にしてくれるプログラムです。

概要としては、次の図のとおりです。

ssh の公開鍵登録と pageant 管理
ssh の公開鍵登録と pageant 管理

ええ、かなり分かりにくいですね。
ここでは主に、Putty で鍵のセットを生成するところから、Linux にどう登録し、どうアクセスするのか、というところまでを記載しています。

オレンジ系統は、端末で動いている Pageant が秘密鍵/公開鍵を管理していることを表しています。
公開鍵は、Teraterm でログインしたいサーバに置くファイルです。事前に置いておきましょう。

Teraterm が Pageant を利用する場合、Teraterm 起動時に次の指定を行います。
  1. 公開鍵を置いたサーバを指定すること。
  2. Pageant を利用すること
すると、Pageant は該当の秘密鍵を渡すので、毎回パスワード入力や秘密鍵の指定を行う必要なく、アクセスできるようになります。

ダウンロードするファイル

さて、次の表は、本手順で必要となるファイルの一覧です。
不足するようであれば、ダウンロードしておいてください。
ダウンロード先
NoダウンロードファイルURL用途備考
1pageant.exePuTTY 関連ファイル秘密鍵の運用
2puttygen.exe.ppk 形式での公開鍵/秘密鍵を生成必要な場合のみ
上記ソフトウェアは PuTTY もしくは WinSCP にも同梱されています。
すでにインストールされている場合は、それぞれのソフトのインストール先を確認して読み替えてください。

Tera Term はすでにセットアップされているものとして扱っています。
必要であれば Tera Term の導入 を参照してください。

続きを読む

公開鍵暗号方式ログイン

2021/05/31 13:32 Tera Term::使い方

本手順について

ssh は、生成した秘密鍵・公開鍵のセットのうち、公開鍵をログイン対象に登録した後、秘密鍵を利用して対象にアクセスする方式です。

概要としては、次の図のとおりです。
sshの公開鍵登録


ここでは主に、Tera Term で鍵のセットを生成するところから、Linux にどう登録し、どうアクセスするのか、というところまでを記載しています。

本手順書での格納先

本手順で利用する各ファイルの格納先です。
環境に合わせて読み替えてください。
利用ファイル一覧
対象ファイル格納先備考
公開鍵"C:\Users\Windows\Downloads\key\id_rsa.pub"Tera Term で生成します。
秘密鍵"C:\Users\Windows\Downloads\key\id_rsa"Tera Term で生成します。

公開鍵暗号方式では、2つで1組となる鍵を利用します。

公開しても問題ない鍵を、公開鍵と読んでいます。
誰に参照されても問題になる可能性が低いので、アクセスしたいサーバに置く用途に向いています。

公開鍵の対となる秘密鍵は、誰にも渡さない限り安全が保たれます。
ネット上で送信すること自体が危険を含むため、アクセス元で生成することが望ましいです。

秘密鍵を持っている人は、公開鍵が置かれたサーバにアクセスすることが比較的容易になる可能性が高いです。
取り扱いには、十分な注意が必要です。

ログイン対象 SSH サーバ

Linux にインストールされた OpenSSH サーバへのログインを想定しています。

Tera Term での鍵作成

OpenSSH で利用する鍵ファイルを作成します。

本手順では Tera Term の機能を利用して鍵生成する方法を説明します。

続きを読む

アンインストール方法


Windows から Tera Term をアンインストール方法は、いくつかあります。

いずれを実行するにせよ、アンインストール前に Tera Term が起動していないことを確認してください。
実行中アプリは、アンインストールおよび削除できません。

方法 1 「アプリと機能」を利用する

「Windows の設定」を呼び出す

スタートメニューから「設定」をクリックします。

「アプリと機能」を呼び出す

「アプリ」をクリックします。

「Tera Term」を選択

「Tera Term」をクリックして「アンインストール」ボタンを表示します。

アンインストールの実行

再確認のために表示された「アンインストール」ボタンをクリックします。

方法 2 アンインストーラ (unins000.exe) を利用する

Tera Term は、32bit プログラムなので、Windows OS が 32bit 版か 64bit 版かでインストール先が変わります。

32bit 版の場合

デフォルトインストールであれば、以下のフォルダに格納されています。
unins000.exe を実行してください。
%ProgramFiles%\teraterm\unins000.exe

64bit 版の場合

デフォルトインストールであれば、以下のフォルダに格納されています。
unins000.exe を実行してください。
%ProgramFiles(x86)%\teraterm\unins000.exe

方法 3 手動で全部削除する

関係ファイルの削除

Tera Term ディレクトリにある Tera Term 関係のファイルをフォルダ毎すべて削除してください。
Tera Term は、32bit プログラムなので、Windows OS が 32bit 版か 64bit 版かでインストール先が変わります。
32bit 版の場合
デフォルトインストールであれば、以下のフォルダに格納されています。
teraterm フォルダ毎すべて削除してください。
%ProgramFiles%\teraterm
64bit 版の場合
デフォルトインストールであれば、以下のフォルダに格納されています。
teraterm フォルダ毎すべて削除してください。
%ProgramFiles(x86)%\teraterm
任意の場所にインストールした場合
解凍後に手動でインストールした、任意のフォルダを削除してください。

フォントの削除

コントロールパネルの「フォント」から "Tera Special" フォントを削除してください。

レジストリの削除

Tera Term Menu を使用していた場合は、レジストリ HKEY_CURRENT_USER\Software\ShinpeiTools\TTermMenu を削除して下さい。

レジストリエディタは、コマンドプロンプト等より以下のコマンドで実行できます。
> regedit
・削除対象レジストリ
HKEY_CURRENT_USER\Software\ShinpeiTools\TTermMenu

エスケープ文字


エスケープ文字

Tera Term マクロに限らずプログラムではエスケープ文字を利用したくなる場面があります。

例えば、シェルで改行文字をエスケープすると、内容によっては長くなってしまう1行も、適切に改行することで見やすいスクリプトになります。
$ cat sample.sh
#!/bin/bash
the_first_value="5"
the_second_value="6"
printf "This sample calculation message %s + %s = %s\n" \
  ${the_first_value} \
  ${the_second_value} \
  $((the_first_value + the_second_value))
$ bash sample.sh
This sample calculation message 5 + 6 = 11
例えば、括り文字 (シングルクォーテーション ' や、ダブルクォーテーション " のこと)をエスケープすると、括り文字の中で括り文字を扱うことができます。
$ echo "This is \"double Quotation\" sample"
This is "double Quotation" sample

結論

結論を言うと、現時点*1において Tera Term にエスケープ文字はありません。

*1 : Tera Term バージョン 4.103

代替方法

エスケープする方法がないため、上記の使用例に対する代替案を記します。

ASCII コードを直指定

括り文字の中に括り文字を利用する場合は、ASCII コードを直に指定する方法があります。
指定方法
ASCII コードを利用
Tera Term で ASCII コードを指定するには、文字に割り振られた番号に # を付与します。

'#' で数値が記述場合、10進数 (0~9) での指定です。
'#$' で数値が記述されている場合、16進数 (0~F) での指定です。

たとえば Tera Term で文字 A を指定する場合、10進数では #65 を、16進数では #$41 を記述します。
ASCII コードで指定可能な文字については ASCII コード を参照してください。
制御文字/印字可能文字に関わらず指定可能です。

・ASCII コードでの代替指定
sprintf "This is "#34"double quotation"#$22
messagebox inputstr 'message test'
ASCII コードでの指定

クォーテーションの種類を変える
厳密にいうと代替方法ではありませんが、シングルクォーテーションの中でダブルクォーテーションを利用することは可能です。
sprintf 'This is "double quotation"'
messagebox inputstr 'message test'
制限事項
上述のような ASCII コード指定する場合は、クォーテーションの中に入れることができません。

・ASCII コードの指定をミスしている例
sprintf "This is #34double quotation"#$22
messagebox inputstr 'message test'
クォートを指定ミスしている例


また、一連の文字列にはスペースを入れることができません。

・ASCII コードが反映されない例
sprintf "This is " #34 "double quotation"#$22
messagebox inputstr 'message test'
反映されない例


スペースも ASCII コードで指定可能なので、以下のように記述します。

・スペース文字を指定した例
sprintf "This is"#32#34"double quotation"#34
messagebox inputstr 'message test'

strconcat

文字列を、何列かに分けて組み立てたい場合は strconcat を利用することで代替できるかもしれません。

もともと strconcat を使っているものを sprintf2 に代替したものが Linux SSH ですが、逆に sprintf2 を strconcat で分解する方法としても参考になると思います。

パスワード入力(コピペ)

2021/05/21 05:30 Tera Term::使い方

古くなった情報

Tera Term バージョン 4.103 を使っていて、コピペと思われる入力に対するメッセージが表示されるようになっていたので、この Tips が (使えないわけではないのですが) ちょっと古いものになったので、そちらを先に。

制御文字のチェック
制御文字のチェック

以下 Shit + Ins を使いましょうという内容です。参考までに。

コピペが効かない Tera Term の ssh パスフレーズ入力

コピー&ペーストは、Windows なら Ctrl + C → Ctrl + V のショートカットを利用している人も多いはず。

ただ、Tera Term の場合には Ctrl + V が効かない機能が含まれています。
それが、SSH でのログイン時にパスフレーズを入力する画面。

SSH認証
ssh認証

ユーザ名まではコピペできたのに、パスフレーズで Ctrl + V を利用したら ● が一つだけ。
こんなとき、そのまま OK したら確実にログイン失敗します。

なぜこの項目では Ctrl + V が利用できないのか*1がわかりませんが、仕事で客先サーバへアクセスする際に入力するパスワードが確認できないのでは困る場面が往々にして発生します。
セキュリティにシビアな環境であれば、入力を1文字間違えただけで事故扱いされることもあり、それがパスワード / パスフレーズとなるとセキュリティ事故であると判断されてしまうことさえあります。

「ならパスワード / パスフレーズを誰もが見える形でコピペするのはいいのか?」という反論が聞こえてくるのですが、そのような環境では一般の人は立ち入り禁止になっていることが多く、パスワード / パスフレーズをメモ帳に書いておくだけでファイルとして保存しないなら許容されるものです。

ただし、もちろんながらボールペンでメモに書くとか論外です。

*1 : Ctrl + V が効かないというよりは、ASCII コードで ^V が入力されているので1文字だけの表示になっている

対処法

いくつか対処法があります。

入力するパスワード / パスフレーズを可視化

可視化するなら Tera Term マクロを使うのが早いです。
passwordbox ではなく inputbox を使えば、パスワード / パスフレーズがマスクされません。

でも、そもそも Tera Term マクロの実行が許可されていないことがあります。

コピー&ペーストの方法

正攻法でいくなら、やっぱりペースト(貼り付け)のショートカットを使います。

実のところ、Windows でペーストを行うショートカットは1つではありません。
(Tera Term で使う Alt + V ではありません)

Shift + Ins キーでもペーストできるようになっています。

Ctrl + Ins キーで、コピー。
Shift + Ins キーで、ペースト。

こちらであれば、パスフレーズのペーストが可能です。

すでにメモ帳などで見えているパスフレーズをコピペするので、キーの押し間違いさえなければ問題なくコピペできます。