メモ > サーバ > 各論: ネットワーク > SSHでアクセスする
■SSHでアクセスする
■導入
sshコマンドで、リモートサーバに接続できる
※クライアント環境がLinuxやMacなら、今は特に追加ソフトウェアのインストールの必要もなくsshコマンドを使える
※Windowsの場合はsshコマンドが標準機能ではないが、
Git for Windows をインストールすると付属の Git Bash から使えるようになる
多くの解説ではWindowsではPuTTYのインストールが解説されているが、
「Windows環境でSSHコマンドを使うにはPuTTYが必須」ということは無さそう
Git for Windows インストール&設定 - Qiita
https://qiita.com/shinsumicco/items/a1c799640131ae33c792
git for windows だけで出来る ssh - himadatenodeの日記
http://d.hatena.ne.jp/himadatanode/20160823/p1
WindowsからSSH接続を利用するなら、以下のようなクライアントソフトをインストールするのもの有効
(Poderosaは多段接続には対応していないが、通常の利用には問題ない)
Poderosa
https://ja.osdn.net/projects/sfnet_poderosa/
■導入(非推奨手順)
※上に記載した「導入」の手順を推奨
WindowsのPowerShellとコマンドプロンプトで、SSHコマンドを使えるようにする場合
https://github.com/PowerShell/Win32-OpenSSH/releases
から OpenSSH-Win64.zip をダウンロード
展開すると作成される OpenSSH-Win64 を C:\ に置く(C:\OpenSSH-Win64 内にプログラムがある状態にする)
Windowsのシステム環境変数のPathに C:\OpenSSH-Win64 を追加する
PowerShellを開き、「ssh」と入力して、コマンドが使えることを確認する
コマンドプロンプトを開き、コマンドが使えることを確認する
これでSSHコマンドを使える
…が、多段接続をしようとすると(正確には「ProxyCommand」を使おうとすると)
「Proxy connect is not supported in Windows yet」
と表示された。Windows版では、まだ多段接続はできないみたい
前述の Git Bash なら多段接続も問題なしなので、Windows環境なら現状はこちらを推奨
sshをWindowsコマンドプロンプトで実行する手順 | 無停電電源装置(UPS) | イートン
https://www.eaton-daitron.jp/techblog/4627.html
Windows環境から SSHでポートフォワード(port forwarding)[別名 SSHトンネル]するには何が最適か? - Qiita
https://qiita.com/ynott/items/6f0088b412b3a4128910
以下、Windows環境の Git Bash で検証したもの
■SSH接続の確認
以下はWindowsのPowerShellからAWSのEC2に接続する例だが、他への接続でも書き方は同じ
(鍵認証しない場合、「-i」とその後のファイル指定は不要)
$ ssh -p 10022 -i C:/Users/refirio/Documents/SSH/refirio/refirio-dev.pem ec2-user@203.0.113.1
C:\Users\refirio\.ssh\config で以下のように設定しておくと、「ssh refirio-dev」のみで接続できる
(configファイルが無ければ、自分で新規に作成する)
Host refirio-dev
Hostname 203.0.113.1
User ec2-user
Port 10022
IdentityFile C:/Users/refirio/Documents/SSH/refirio/refirio-dev.pem
IdentitiesOnly yes
~/.ssh/configについて - Qiita
https://qiita.com/passol78/items/2ad123e39efeb1a5286b
なお、コマンドプロンプトからも以下のように接続できる
>ssh -p 10022 -i C:/Users/refirio/Documents/SSH/refirio/refirio-dev.pem ec2-user@203.0.113.1