BLOGTIMES
«Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 ·... | | Next»
2021/05/27

ダウンロードしてすぐに起動できる Linux の VM イメージ

esxi  ubuntu 

VMWare ですぐに使える Ubuntu のイメージが欲しかったので探してみたら osboxes というプロジェクトがあることが分かったのでメモ。

Ubuntu Server Virtual Machine images for VMware and VirtualBox

he server edition uses a screen-mode, character-based interface for the installation, instead of a graphical installation process. This enables installation on machines with a serial or “dumb terminal” interface without graphics support.

デフォルトの ID/PW

導入は簡単なのですが、デフォルトの ID/PW の書かれている位置がわかり辛いのでメモを残しておきます。

Username: osboxes
Password: osboxes.org
Root Account Password: osboxes.org

    at 22:49 |
    2021/05/27

    svn でコミットしたらエラーが出たので

    svn 
    Warning: post-commit FS processing had error: - svn でコミットしたらエラーが出たので

    svn のリポジトリにコミットしようとしたら以下のエラーが出てしまったので、対処方法をメモ。

    Warning: post-commit FS processing had error:
    sqlite[S8]: attempt to write a readonly database

    原因は/db/rep-cache.dbに書込の権限がないことのようなので、chmod で書込ができるようにしてやればエラーは解消できます。ちなみにこのエラーが出てもコミット自体は問題なくされているようです。

    参考


      at 22:39 |
      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 |
                «Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 ·... | | Next»