So-net無料ブログ作成
検索選択

SSHダメなプロキシを越えて、Linuxの端末操作してみる。1 [Linux]

So-net blog自体のアクセスランキングは悪くないけど、パソコン・インターネットのカテゴリのランクが下がり気味。あんまり相関はない感じなんだよね。まぁ普通は今の時期は年度末なので忙しいのだけれど、カテゴリ的に仕事中にやってるやつとかが多いみたいで、お気楽でいいねぇと思わざるを得ないのだけれど。


と愚痴っぽいのはそれくらいにして、仕事でのLinux利用。職場はファイヤーウォールだかプロキシサーバだとかで、SSHが通らない。ポートを色々設定したのだが、そもそも受け付けてないっぽいのだ。どこかにHTTPでつなげる端末とかないかなと思ったら、Webサーバ経由でターミナル操作できるものがあるみたい。

これとか
https://www.npmjs.com/package/web-terminal
これとか
https://github.com/krishnasrinivas/wetty

後者の方がターミナルとしては優れているっぽいので、wettyにしてみる。なんか名前が湿ってる感じがするけど、もともとwettyという単語はないらしい。wetで形容詞だし。

HTTPSも使えそうなので、あとあとそのためにソースに手を入れなくていいっぽいね。オレオレ証明書でしかSSLを使ったことがないので、今回はLet's encryptを使ってみたい気はしている。というか、暗号化しないでユーザー名とパスワードを送るのなんて無理。

http://knowledge.sakura.ad.jp/knowledge/5573/

node.jsでWebサーバをいじったことがあるので、Webルートで動作するところを変えないとクラッカーの餌食になりそうな予感。というか、アクセスログを見たことがあるのだけれど、適当にIPアドレスで来ているのってたくさんあるんだよね。んで、ありそうなURLのパスでアクセスしようとして来ていたりしている。まぁそういうのはほとんどボットなんだろうけど、踏み台にされるのはまっぴらなのでなんとか考えたいところである。


まずLXCでサーバ作ろうか。Ubuntuでいいか、面倒だし。と思ったけど、外につなぐ時にポート開けたりしないといけないだろうからやめて物理サーバに。まぁ物理サーバにつないでからLXCコンテナ作ってもいいや。

というわけで、物理サーバのUbuntuにnode.js、npm、wettyという手順で入れる。

めんどうなのでnode.jsはUbuntuリポジトリで
sudo apt install nodejs

あ、入ってた。バージョンはv4.2.6で対応しているかどうかは怪しい。
sudo apt install npm

んでwettyインストールはサイト通りに。
git clone https://github.com/krishnasrinivas/wetty
cd wetty
npm install


deprecatedが4つ出て、そのあとにエラーが出た。ん〜なんだろう。二年前のソースだからそんなに問題になりそうな感じはないだろうなぁ。

node-gypあたりでエラーが出ていて
node-gyp rebuild
としても解決せず。WindowsだとPythonの環境の問題で必ずと言っていいほど出まくっているみたいですが、Ubuntuだしなぁ。

sudo npm install -g node-gyp

入れ直してもpty.jsがnode-gyp rebuildしろというのは変わらない。




挫折してちょっとweb-terminalの方にちょっかいを出してみる。
sudo npm install web-terminal -g
ですんなり入る。本当はsudoしたくないんだけど、ダメらしいので。
web-terminal --port 8088
で起動。どこに入っているのかさえも分からないけど、あっさり。

それでクライアントPCからhttp://192.168.0.123:8088とかでアクセスすると少し間をおいてプロンプトが出る。
~/.npm/web-terminal/0.7.0/package
からなぜか入るのだが、ここにはバイナリとかの実態がない。node.jsだからテキストか。

$ which web-terminal
/usr/local/bin/web-terminal

みたいな感じでコマンドは打てる。でもviとかはダメだって書いてあったな。単純なコマンドラインのみっぽいけど、viを立ち上げてみる。わーw
web-terminal-vi.png
なんかぐちゃぐちゃ出てきてテキストの編集どころではありませんでした。やっぱり、wetty立ち上げ頑張らな。




色々やってみたので決定打となるコマンドが分からないんだけど、大体こんな感じで直った。

npm update -g npm
npm update -g
node-gyp clean
node-gyp install
node app.js -p 3000

npmとその中のパッケージを新しくする。
node-gypコマンドでコンパイルした内容をきれいにしてから、新しく入れ直す。
そんな感じなのかな。

正直npm周りが分からないので、新しくしてみたら何とかなった次第です。たぶん結構前に入れたので、使うときには新しくしましょうというのが鉄則なのでしょう。それから対応するバージョンに合わせていくのが無難なのかと。基本、安定板の一番新しいのを入れるのがいいんでしょうが、色々問題はありますしね。

とりあえずviが動く環境を手に入れられた。次はSSLというかTLSでHTTPSにしたい。オレオレ証明書でもいいけど、タダでもらえる時代なのでガチで入れてみる。あとWebのルートディレクトリで動作させるのは危なすぎるのでこれも次にやろうと思う。プロキシの設定の問題で、80と443番ポートのアクセスしか受け付けないみたいなんだよね。怪しいポート番号は怪しいサイト、とみなしているのでしょう。どっちにしてもルートで動かさないといけないよなぁ。面倒だがやるしかないなぁ。

タグ:Node.js
コメント(1) 

Twitterまとめ投稿 2017/03/15 [Twitter]


コメント(0)