事情を説明して最後に質問します。
仕事用のコンピューター、Mac を持っています。この Mac では、次のコマンドが保存されています。
ssh -n -f -T -N -L {port} {server IP} {email} -i {path to secret RSA key}
(中括弧は、そこに何があるかを知らせるためのものです)
そのコマンドを実行して ssh トンネルを開始する必要があり、秘密の RSA キーを取得できるように bash のパスワードを指定する必要があります。
次に、DBeaver を開き、資格情報を使用して Exasol データベースに接続し、127.0.0.1
(ポートはデフォルトでホーム IP に転送されるように) 入力し、bash コマンドで指定された同じポートを使用します。
与えられたすべてのデータのリストは次のとおりです。
- サーバーポート (= どうやら私のコンピューターにもトンネルポート)
- サーバー IP
- メール (myuser@serverdomain.sthg だと思います)
- RSA キーを含むファイルへのキー
127.0.0.1
、Exasol データベースへの接続に使用する IP として- サーバーポート。これは上記のものと同じです
- データベースのユーザー
- データベースのそのユーザーのパスワード
この DWH から定期的にデータを取得するプログラムを展開したいと考えています。私には2つのアイデアがありました:
- Pythonですべてを行います。
今、私はプログラムを書くためにparamiko、sshtunnel、pyexasol(pythonライブラリ)を使いたいと思っていますが、私の人生ではスタックオーバーフローの投稿をたくさん読んで、sshトンネル変数の非常に多くの組み合わせを試しました。そして、pyexasol が新しい一見孤立した停滞したプロジェクトであることは助けにはならないので、そこで ssh を実行することはできません。
- bash を実行してそのコマンドを実行する docker コンテナーをデプロイし、bash 自体または python プログラムを使用してデータベースに接続し、データを取得します。
しかし、私はネットワーク アーキテクチャと、これがどのように機能するかについてほとんど知りません。
質問1:
私たちを手伝ってくれますか:
sshtunnel を使用して ssh トンネルを開くコード付き
または、Dockerでこれを行う方法のアイデアを持って
質問2:
これを展開することさえ可能ですか?または、サーバーがそれを受け入れるために、sshトンネル転送がこの特定のコンピューターから来る必要がありますか?
これをすべて読んでくれてありがとう!