多段SSHの設定 踏み台経由

2019-06-24
linuxsshmacproxy%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7wslshell%E8%B8%8F%E3%81%BF%E5%8F%B0
    

目次

概要

踏み台を経由して多段SSHを行う際の設定についてのメモ。

設定

SSHの設定はMac/Linux/WSLであればホームディレクトリ下の~/.ssh/configに記述します。

基本的なconfigの記述

フォーマット

Host my-server # 接続時のエイリアス
    HostName my-server.example.com # ホスト名 or IP
    User step-user # ユーザ名
    Port 22 # 踏み台サーバのポート(省略すれば22)
    IdentityFile  ~/.ssh/keys/hoge.key # 秘密鍵(ローカルファイルのパスを書く)

SSHコマンド

$ ssh server1

基本的な踏み台経由のSSH設定

# 踏み台サーバの接続情報
Host step1
    HostName step-server1.server
    User step-user
    Port 22
    IdentityFile ~/.ssh/keys/hoge.key # 秘密鍵(ローカルファイルのパスを書く)

# 接続したいサーバの情報
Host private1
    HostName private-server1.server
    User user1
    Port 22
    IdentityFile ~/.ssh/keys/fuga.key # 秘密鍵(ローカルファイルのパスを書く)
    ProxyCommand ssh -W %h:%p step1 # 踏み台サーバのホスト名

以下のコマンドで接続

$ ssh private1

プロキシを経由して踏み台に接続するSSH設定

# 踏み台サーバの接続情報
Host step1
    HostName step-server1.server
    User step-user
    Port 22
    IdentityFile ~/.ssh/keys/hoge.key
    ProxyCommand nc -X connect -x proxy.hoge.com:8080 %h %p

# 接続したいサーバの情報
Host private1
    HostName private-server1.server
    User user1
    Port 22
    IdentityFile ~/.ssh/keys/fuga.key
    ProxyCommand ssh -W %h:%p step1 # 踏み台サーバのホスト名

もしくは

# 踏み台サーバの接続情報
Host step1
    HostName step-server1.server
    User step-user
    Port 22
    IdentityFile ~/.ssh/keys/hoge.key
    ProxyCommand connect -H proxy.hoge.com:8080 %h %p

# 接続したいサーバの情報
Host private1
    HostName private-server1.server
    User user1
    Port 22
    IdentityFile ~/.ssh/keys/fuga.key
    ProxyCommand ssh -W %h:%p step1 # 踏み台サーバのホスト名

以下のコマンドで接続

$ ssh private1
    
s-yoshiki
s-yoshiki
githubtwitterqiita
Web作ってますが、インタラクティブなプログラミングも好きです。
JavaScript / Vue / node.js / PHP / AWS / OpenCV

関連記事

Ansible で Docker に LAMP環境を構築するハンズオンを作った
リポジトリ リポジトリ構成 Docker構成 Ansible role の構成 プロビジョニングの実施 ansibleでdocker上にApache MariaDB PHP…

Macでも利用できるDBクライアント MySQL PostgreSQL Oracle など
デスクトップ系ツール TablePlus DBeaver MySQL Workbench Sequel pro Webアプリケーション phpMyAdmin Adminer 参考 Macで利用できるDB (MySQL PostgreSQL Oracle…

DockerでMySQL5.1.73を利用する。docker-composeから起動
Dockerのインストールから実行まで docker-compose から起動 詳細 Docker から MySQL 5.1.73 を利用する。 Dockerのインストールから実行まで docker imageの pull。 119MB…

Proxy環境下でcurlを実行する
コマンドオプションで設定する 環境変数に設定する curlrc に記述する おまけ: curlのオプション Proxy (プロキシ) 環境下でcurl…

inotify-tools rsync unison を利用してディレクトリを同期する
環境・バージョン情報等 inotify-tools バージョン情報 インストール inotifywait + rsync で同期する inotifywait + unison で同期する unisonの設定 同期コマンド 参考 inotify-tools…

fswatch rsync unison を使ってリアルタイムで同期する
環境・バージョン情報等 fswatch バージョン情報 インストール fswatch + rsync で同期する fswatch + unison で同期する unisonの設定 同期コマンド 参考 fswatch + rsync or fswatch…

macOSにOpenCV4をインストール
パッケージの情報 インストール 試す with Python3 macOS (MacBook Pro 2018 13 inchi)にhomebrewを用いてOpenCVをインストールする方法。 パッケージの情報 まず、brew search と brew info…

AWS System Manager(SSM)でEC2にSSHを実行! ポート解放なし
環境 クライアント環境 macOS mojava AWS CLI Session Manager Plugin リモート環境 Ubuntu 18.04 amazon-ssm-agent クライアント環境のセットアップ macOS に Session Manager…

Ubuntu18.04にApache MariaDB PHP7.2 をセットアップ
環境情報 モジュール類の更新 Apacheのインストール PHP7.2のインストール インストール 動作確認 MariaDBのセットアップ MariaDBのインストール データベースと作業用ユーザの作成 参考 AWS の EC2 の Ubuntu18.0…

SwitchHosts hostsの設定を変更するツール
SwitchHosts インストールする homebrew scoop それ以外 設定ファイル 参考 ローカル開発環境を利用して開発している際に、ローカルのIPに対してのホスト名をhosts…

最新の投稿

GitHub Actions で Gatsby をビルドし Amazon S3 にデプロイする
GitHub Actions について あらかじめ準備しておくもの AWS IAM ユーザを環境変数にセットする workflowの記述 ビルド バッジを利用する 終わりに 参考にしたところ Gatsbyで作った静的サイトを、GitHub Actions…

cloudinaryによる画像ファイルの管理 はじめてみる
目的 cloudinary について 他のサービスとの比較 料金プラン アカウントの登録 利用してみる ダッシュボード 画像の編集 APIベースでのアクセス 感想 参考 画像の管理や配信、さらには加工といった事ができるsaas型のcloud…

JavaScriptによる2分探索(バイナリサーチ) のサンプルコード
2分探索について ソース 参考 JavaScriptで2分探索(バイナリサーチ)を実装してみました。…

Vue.jsで作成された、ちょっと面白くて役立ちそうなサービス
UIコンポーネント VueSocial CKEditor 5 Vue.Draggable Vuetable 2 vuejs-datepicker Kalendar Vue Apexcharts Vue.js Google Charts vue-cart WebIDE…

GitHubのリポジトリをGitLabに同期する GitLabのミラーリング機能
GitLabのミラーリングについて GitHubのリポジトリをGitLabに反映する その他 参考 GitLabのミラーリング機能によりGitHubなどの外部のリポジトリとのミラーリングを行うことができます。 これを使ってGitHub…

WordPressやめます Gatsbyに移行しました
これまでのWordPress運用 なぜWordPressを捨てるのか? なぜGatsbyを利用するのか? gatsbyについて WordPressから記事の救出 移行対象記事の抽出 記事の置換 Gatsbyテーマの作成 Gatsby…

WordPressのDBから記事データを抽出する
WordPressのDB関連図 公開記事一覧の取得 タグ・カテゴリの取得 サムネイルの取得 おまけ: PHPスクリプト化しました 参考にしたところ WordPressにため込んだデータMarkdown化しGatsby…

ハイフンとかマイナスとかダッシュとか

Firebase + Nuxt で認証付きページを作るときに参考にしたいところ
Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 Service Worker によるセッション管理 ユーザー セッションの管理 Nuxt.jsとFirebaseでSPA×SSR×PWA×サーバーレスを実現する CookieとセッションとJWT SSR…

GolangをCGIとして実行する
環境 golang パッケージ ソースと実行 ビルドとサーバ実行 標準ライブラリのみ Golang を CGIとして実行する際のメモ 環境 golang パッケージ 以下のモジュールを利用しています。 github.com/gorilla/mux…

Tags

Dates

© 2020   404 motivation not found