アメリエフの技術ブログ

Amelieff Staff Blog

Windowsユーザのためのあれこれ① -サーバ接続編

f:id:tsuyuh:20210415124624p:plain

はじめに

こんにちは、Windows PCで仕事をしているtsuyuhです。

私はこれまでもずっとWindows PCを使ってきましたが、バイオインフォマティクス界隈ではMacユーザが幅を利かせている (偏見) ので、若干肩身が狭かったです。
(アメリエフはWindowsユーザとMacユーザが半々くらいなのでいい会社: ))

確かに、バイオインフォマティクスをやるならMacの方が何かと便利ではあるんです。 とは言っても、わざわざ使い慣れていないOSに変えるのは面倒くさいんですよね。Windows気に入ってますし。

そんなわけで、会社や研究室で肩身の狭い思いをしているWindowsユーザの皆様に向けて、何かを書いてみようと思います。

今回は、サーバへの接続方法について紹介します。

作業環境

Windows 10 Pro v20H2
Tera Term v4.105

Tera Termをインストール

Windows PCでサーバに接続するためには、「Tera Term」というソフトを使うのが便利です。
※ PowerShellでもコマンド使えばできるけど、設定が結構大変。。

まず、このページ↓ から適当なバージョンのexeファイルをダウンロードします。
ダウンロードファイル一覧 - Tera Term - OSDN
※ Tera Termのバージョンによっては使えないコマンドがあるらしい…

落としたexeファイルを開くとインストーラが起動します。
色々選択肢が出てきますが、基本的にデフォルトのままでOK。
インストールが完了したらデスクトップにアイコンができます。

サーバ接続のための準備

特定のサーバに接続するにはユーザ名とパスワードまたは「鍵」が必要になります。
サーバの管理設定によって異なるので管理者に聞いてみてください。
ここでは設定が難しい鍵の使い方を説明します。

用意する鍵は以下の2本
秘密鍵
 → サーバに接続するときに使う
公開鍵
 → 秘密鍵で入れるように予めサーバに登録しておく

⇒ ざっくり言うと、鍵と鍵穴の関係です。
... サーバ (家) に入るために、ユーザ名 (自分専用のドア) に紐づけられた公開鍵 (錠前) 、とその秘密鍵 (鍵) といったところでしょうか。

作業の流れ
1. サーバ管理者にユーザ名を登録してもらう。
2. 自分のPCで秘密鍵と公開鍵を作成する。
3. サーバ管理者に公開鍵を渡して、登録してもらう。
4. 自分の秘密鍵を使ってサーバに接続する。

鍵の作り方

まず、Windows PowerShellを開きます。
Windows 10ならデスクトップ左下のWindowsマークを右クリックすればあるはず。

f:id:tsuyuh:20210415132042p:plain:w200

次に、PowerShell上で適当なディレクトリに移動して、".ssh" フォルダを作成します。

> cd Desktop
> mkdir .ssh

そして、下記コマンドを入力します。

> ssh-keygen -t ed25519 -f .ssh/example_key -C " "

### オプション説明 ###
# -t: 署名アルゴリズム。"ed25519" が強い。
# -f: 鍵の名前。.sshディレクトリ内に"example_key" という名前の鍵ファイルが出力される。
# -C: コメント付与。なんでも書けます。

すると、パスワードを入れろというメッセージが出力されるので、必要なら入力してEnter、要らないなら何も入力せずにEnterを押します (確認のため再入力が求められる)。

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

その結果、.shhフォルダ内に秘密鍵と公開鍵が作成されました!

f:id:tsuyuh:20210415112324p:plain

拡張子が付いていない方 (example_key) が秘密鍵、拡張子 (.pub) が付いている方 (example_key.pub) が公開鍵です。

→ 公開鍵はサーバの管理者に渡してください。優しい管理者なら登録してくれるはずです。
※ 秘密鍵は絶対に他人に渡さないでください。

Tera Termでサーバに接続

今回は、社内のとあるLinuxサーバにSSH接続してみようと思います。

とあるサーバ
IPアドレス: (仮) 123.456.78.90
ポート番号: (仮) 1024

まず、Tera Termのアイコンをダブルクリックするとこんな画面が出てきます ↓

f:id:tsuyuh:20210415094154p:plain

これを以下のように設定します。
・「ホスト(T)」 の欄にIPアドレス (123.456.78.90) を入力
・「TCPポート#(P)」 の欄にポート番号 (1024) を入力
・「サービス」はSSHのラジオボタンをクリック
・「SSHバージョン(V)」はSSH2を選択
・「IPバージョン(N)」はAUTOを選択

f:id:tsuyuh:20210415104124p:plain

→ できたら「OK」をクリックします。

※ 初めて接続する場合はセキュリティ警告が出ますが、「続行」をクリックすればOKです。

すると、下記のような画面が表示されます ↓

f:id:tsuyuh:20210415114001p:plain

これを以下のように設定します。
・「ユーザ名(N)」の欄に、サーバに登録してもらった自分のユーザ名を入力。
・「パスフレーズ(P)」の欄は空欄のまま。
    ※ サーバ管理者にパスワードを設定してもらえば、鍵がなくても接続できます。が、セキュリティ的にはちょっと弱い。
・「認証方式」は「RSA/DSA/ECDSA/ED25519鍵を使う」のラジオボタンをクリック。

f:id:tsuyuh:20210415114551p:plain

次に、「RSA/DSA/ECDSA/ED25519鍵を使う」の「秘密鍵(K)」の欄の右端にある "..." ボタンをクリックします。
すると、秘密鍵ファイルを選択する画面が表示されるので、下図の通り適切な秘密鍵ファイル (example_key) を選択して、「開く」をクリック。

f:id:tsuyuh:20210415114943p:plain

最後に、Tera TermのSSH「認証画面」で「OK」をクリックすればサーバに接続完了。
あとはTera Term上で適当なコマンドを打って解析するだけ!

f:id:tsuyuh:20210415124153p:plain

まとめ

・Windows PCでサーバに接続するならTera Term
ssh-keygenコマンドで秘密鍵と公開鍵を作成
・サーバに公開鍵を登録してもらえば、秘密鍵を使っていつでもサーバにログイン可能