BLOGTIMES
«Prev || ... 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 14 ·... | | Next»
2021/05/26

米国務省は日本への渡航中止を勧告

covid19  unitedstates 

国内では新型コロナの感染の広がりの押さえ込みが不十分なので、米国務省は日本への渡航中止を勧告することにしたようです。
この調子だとオリンピックはどうするんでしょうね。

米国務省、日本への渡航中止勧告 「新型コロナのレベルが非常に高い」 - ITmedia NEWS

米疾病対策センター(CDC)も同日、日本への渡航情報を更新し、感染状況を4段階で最高レベルの「Very High」に引き上げた。「日本の現状では、ワクチン接種を完了した旅行者でも新型コロナの変異株に感染し、広めるリスクがあるため、日本へのすべての旅行を避けるべきだ」としている。


    at 23:46 |
    2021/05/26

    ExifTool の脆弱性に注意(CVE-2021-22204)

    exif  cve 

    ExifTool*1*2 に脆弱性(CVE-2021-22204)が見つかっていたのでメモ。

    特定の画像を処理すると任意のコマンドが実行できる*3ようになってしまうという問題のようです。
    普段からGPS データの書き込みなどに便利に使っているので、忘れずにアップデートしておきたいと思います。


    at 21:15 |
    2021/05/25

    路上飲みしたい若者は少ない

    covid19 

    新型コロナによる緊急事態宣言で酒類提供が制限されたことによる、いわゆる路上飲みが問題になっていますが、東京都の調査では若者の8割は路上飲みしたいと思っていないことが明らかになりました。
    もともと酒やタバコなどは、限られたヘビーユーザーが消費のほとんど占めるという構造にあるので、全体としてはこのような結果でも特に驚きません。

    若者へのオンラインアンケート調査(2062報)|東京都

    「路上飲み・公園飲み」をやったことがあるのは約1割。約8割は「経験がなく今後もやらない」と回答。


      at 22:59 |
      2021/05/24

      nginx の Port 443 で SSL と SSH を共存させる

      nginx  ssh 

      Run Non-SSL Protocols on the Same Port as SSL in NGINX 1.15.2」という記事を読んで、$ssl_preread_protocol を使うと 1 つのポート ( 443 ) で複数のプロトコルを扱う Proxy を nginx で実現できることが分かったので試してみようとしたら、そんなに単純にいかなかったので顛末をメモ。

      結局のところ、設定ファイルは以下のような形になりました。

      http { server { listen 127.0.0.1:8443 ssl http2 proxy_protocol; real_ip_header proxy_protocol; set_real_ip_from 127.0.0.1; ・・・・・・・・・ } } stream { upstream ssh { server 127.0.0.1:8022; } upstream web { server 127.0.0.1:8443; } map $ssl_preread_protocol $upstream { default ssh; "TLSv1.3" web; "TLSv1.2" web; } server { listen 443; proxy_pass $upstream; ssl_preread on; proxy_protocol on; } server { listen 127.0.0.1:8022 proxy_protocol; proxy_pass 127.0.0.1:22; } }

      鬼門だったのは PROXY Protocol*1 の設定の部分。この設定は proxy_pass された先のサーバがクライアントの IP を知るために必須の設定ですが、SSH のように PROXY Protocol に対応していないサービスの場合には、そのままローカルの 22 に proxy_pass してしまうとプロトコルエラーになってしまいます。

      分かってしまえば単純な話なのですが、nginx では proxy_protocol on;で proxy_pass した場合、飛ばし先の listen に proxy_protocol をつければよいので、ssh の場合には stream の定義のところに proxy_protocol がついた server をもうひとつ定義してあげる必要がありました。


      at 22:39 |
      2021/05/23

      Git for Windows でも Pageant が使いたい

      ssh  git  PuTTY  windows10 

      Git for Windows で Pageant を使った認証をやろうとしたら意外と面倒な作業になってしまいました。

      [失敗] plink.exe は簡単だけど・・・

      Git for Windows で ssh の公開鍵認証をしたい場合には、最も単純な方法として環境変数 GIT_SSH に PuTTY の plink.exe のパスを設定する方法があります。さっそく試してみたところ、以下のプロンプトが出たときに y を入力することとができないので、この方法は断念。ネットで検索*1するとそれなりの件数がヒットするので、良くあるハマりパターンのようです。

      Store key in cache? (y/n)

      Windows 10 付属の OpenSSH + wsl-ssh-pageant + Pageant (PuTTY) の組み合わせ

      僕は普段、SSH は TeraTerm + Pageant (PuTTY) という環境で使っていて、公開鍵の管理も Pageant に寄せてあります。最近の Windows 10 には OpenSSH が標準で搭載されていますが、これは Pageant にはもちろん対応していないので、これまで使うことはありませんでした。

      単純な方法としては .ppk を OpenSSH 形式に変換して鍵自体を OpenSSH に合わせてしまうという方法もありますが、これは秘密鍵をもう一式持つことになるという欠点がありませす。鍵のファイルが増えると管理が面倒なので、今回は OpenSSH と Pageant の仲立ちをしてくれる wsl-ssh-pageant というユーティリティを使う事にしました。この方法も結構面倒ですが、鍵の管理に比べたらマシです。

      wsl-ssh-pageant のセットアップ

      wsl-ssh-pageant のリポジトリから wsl-ssh-pageant-amd64-gui.exe のバイナリを取得します。
      適当なところに配置したら、バイナリと同じ場所に以下のような bat ファイルを作成します。

      wsl-ssh-pageant-start.bat

      start wsl-ssh-pageant-amd64-gui.exe -systray -winssh ssh-pageant

      ファイルができたら、あとはこの bat をダブルクリックすると wsl-ssh-pageant を起動することができます。
      うまく起動できればタスクトレイにオレンジ色の鍵のアイコンが見えるはずです。

      次回以降は自動起動するように、スタートアップにショートカットを放り込んでおくと良いと思います。

      OpenSSH と Git for Windows の設定

      あとは Git for Windows に Windows 10 標準の OpenSSH を使うようにすることと、Windows 10 標準の OpenSSH に ssh-agent の代わりに wsl-ssh-pageant を使うように設定をしてやれば、頭書の問題は解決できます。前者は GIT_SSH 環境変数を設定することで、後者は SSH_AUTH_SOCK 環境変数を設定することでそれぞれ実行することができます。

      GUI からやっても良いのですが、打ち間違えが怖いのでコマンドで直接レジストリを書き換えることにします。
      ユーザー環境変数で十分なので、以下のコマンドは管理者権限で実行する必要はありません

      cmd /c reg add "HKCU\Environment" /v GIT_SSH /t REG_SZ /d "C:/Windows/System32/OpenSSH/ssh.exe" /f cmd /c reg add "HKCU\Environment" /v SSH_AUTH_SOCK /t REG_SZ /d "\\.\pipe\ssh-pageant" /f

      これで Git for Windows でも Pageant による公開鍵認証ができるはずです。


      at 21:39 |

      git リポジトリのリモート URL を一撃で書き換える ( Windows 編 )

      git  powershell 

      git のサービス等を乗り換えたりする場合には、ローカルリポジトリのリモート URL を書き換える必要が出てきます。

      Linux の場合は bash + sed を使って置換する方法を使いましたが、Windows の場合には cmd.exe はそれほど高度な置換や変数展開が使えないので、同様の操作を PowerShell を使って実装することにしました。

      前回と同様にここではリモートの URL が https://example.com/foo/bar.githttps://example.jp/foo/bar.git に変更されると仮定すると、以下のような感じでリモート URL の変更が可能です。

      git remote get-url origin | %{ $_.Replace('example.com','example.jp') } | %{ git remote set-url origin $_ }

        at 00:15 |
        2021/05/22

        git リポジトリのリモート URL を一撃で書き換える ( Linux 編 )

        git  sh 

        git のサービス等を乗り換えたりする場合には、ローカルリポジトリのリモート URL を書き換える必要が出てきます。

        1つずつやっても良いのですが、いろいろと面倒なので、現在の URL の一部を置換することリモート URL を書き換えるワンライナーを書いてみました。通常、サービスの乗り換えの場合にはリポジトリ名は URL の一部のみが変わるだけだと思うので、これで十分機能するはずです。

        ここではリモートの URL が https://example.com/foo/bar.githttps://example.jp/foo/bar.git に変更されると仮定すると、以下のような感じでリモート URL の変更が可能です。

        git remote set-url origin $(git remote get-url origin | sed "s|example\.com|example\.jp|")

        ちなみに、Windows の場合は PowerShel を使って同様の操作ができます。


          at 22:28 |

          GitHub にそっくりなセルフホストできる Git サービス Gitea

          git  gitea  dockercompose  golang 
          Gitea - GitHub にそっくりなセルフホストできる Git サービス Gitea

          これまでセルフホストの Git サーバとしては GitBuket をずっと使ってきましたが、リポジトリが増えてくるとやはりトップページが見づらいことや、UI が GitHub からかなりかけ離れた感じになってしまっているので、UI が現在の GitHub にそっくりな Gitea を導入してみました。

          Gitea

          Gitea - Git with a cup of tea
          A painless self-hosted Git service.
          Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.

          導入は docker-compose で

          Gitea は golang で書かれたアプリケーションで Docker イメージも用意されているので、今回は以下のような感じで Gitea + MariaDB の組み合わせでインストールすることにしました。

          docker-compose.ymlを配置したら、あとは docker-compose up -d で起動できます。起動したら :3000 にウェブブラウザでアクセスして、初期設定を行うとすぐに利用開始できます。U2F の2要素認証にも対応していますし、外部ユーザー認証としては LDAP や OpenID Connect にも対応しているので Azure AD 等を使って SSO が可能です。

          docker-compose.yml

          version: '3.8' services: gitea: image: gitea/gitea container_name: gitea volumes: - ./data/gitea:/data ports: - "13000:3000" - "10022:10022" environment: DB_TYPE: mysql DB_HOST: gitea-db:3306 DB_NAME: gitea DB_USER: gitea DB_PASSWD: gitea SSH_PORT: 10022 TZ: Asia/Tokyo depends_on: - gitea-db restart: always gitea-db: image: mariadb container_name: gitea-db ports: [] environment: MYSQL_ROOT_PASSWORD: gitea MYSQL_DATABASE: gitea MYSQL_USER: gitea MYSQL_PASSWORD: gitea TZ: Asia/Tokyo volumes: - ./data/db:/var/lib/mysql command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_bin restart: always

            at 14:58 |
            2021/05/21

            Ubuntu に mvn を使って Node.js をインストール

            javascript  nodejs  ubuntu 

            先日、nvm-windows をインストールしましたが、Linux 環境にはまだ nvm をインストールしたことがなかったので WSL 上の Ubuntu に「nvm(Node Version Manager)を使ってNode.jsをインストールする手順 - Qiita」を参考にして nvm を使って Node.js をインストールしてみました。

            結果的に手順としてはこんな感じになりました。
            この、git の最新のタグを取ってくる部分はいろいろと応用が効きそうです。

            git clone https://github.com/nvm-sh/nvm.git ~/.nvm pushd ~/.nvm git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)` . ./nvm.sh popd cat <<'EOF' >>~/.bash_profile # nvm settings export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" nvm install stable --latest-npm nvm alias default stable

              at 19:06 |

              非接触体温計 quick

              medical  家電  smartdevice 
              【日本製】ひたい式非接触体温計クイック(quick)

              最近、コロナのせいで体温を計測する機会も増えたので、非接触でサッと計測できて Bluetooth でスマホ連携できる quick という体温計を買ってみました。血圧計の時もそうでしたが、やはり自分でノート等に記録する必要がないと楽でいいですね。

              若干誤差があるのが弱点

              計測結果はすぐに表示されますが、ひたいの表面温度の赤外線から体温を予測する方式なので、脇の下に挟む体温計と比べると若干誤差はあるようです。僕の場合は若干高めの値が表示される傾向がありますね。


                at 13:32 |
                «Prev || ... 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 14 ·... | | Next»