サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.karakaram.com
前回は macOS の ssh-agent で SSH 鍵のパスフレーズの入力を省略する方法を解説しました。 今回はその ... 前回の記事で man ssh コマンドの -A オプションの説明を読んでいたら、踏み台を経由して目的のサーバに SSH するときに便利な -J オプションと、 ~/.ssh/config の ProxyJump という設定があることに気が付きました。さっそく試してみたので備忘録。これまで踏み台を経由するときに使っていた ProxyCommand の設定はこちらに置き換えられそうです。 設定内容は SSH to remote hosts through a proxy or bastion with ProxyJump | redhot.com と man ssh コマンドと man ssh_config を参考にしています。対応しているバージョンは ssh v7
macOS に最初から入っている ssh-agent に SSH の秘密鍵を追加して、SSH 接続時に SSH 鍵のパスフレーズを求められないようにする設定の備忘録。 動作確認した OS は macOS Monterey (12.3)です。 目次 新しい SSH キーを生成する バックグラウンドで ssh-agent を起動する ~/.ssh/config に ssh-agent 用の設定をする ssh-agent に追加されている鍵を表示する ssh-agent から鍵を削除する SSH 接続をテストする 新しい SSH キーを生成する 検証用に SSH の鍵を生成します。 ssh-keygen -t ed25519 -C "your_email@example.com" パスフレーズも設定しておきます。 > Enter passphrase (empty for no passphra
MySQL のテーブルの文字コード latin1 と utf8mb4 が混在しているシステムを utf8mb4 に統一する機会がありました。調査した内容や実行したコマンドを残しておきます。MySQL のバージョンは 5.7 です。 目次 やったこと データベースの文字コードと照合順序を確認する テーブルの文字コードと照合順序を確認する 利用できる照合順序を確認する カラムの文字コードと照合順序を確認する テーブル内のすべての文字カラムを変換する データベースの文字コードを変更する テーブルの文字コードを変更する カラムの文字コードを変更する やったこと データベース、全テーブルの文字コードを調べる文字コードが utf8mb4 ではないテーブルを見つけたら、そのテーブルのカラムの文字コードを調べるカラムとテーブルの文字コードを utf8mb4 に変換するデータベースの文字コードを変更する 順
たまに使うけれどすぐ忘れてしまう SSH ローカルポートフォワードについてメモ。 目次 SSH ローカルポートフォワードとは SSH で接続するサーバのポートに転送したいとき SSH で接続するサーバとは別のホストのポートに転送したいとき 別の作業端末からも接続したい場合 SSH ローカルポートフォワードとは SSH ローカルポートフォワードとは、SSH の接続を通して、ローカルホストの TCP ポートへの接続をリモートホストの TCP ポートに転送する機能です。ポートフォワーディング、トンネリングと呼ばれたりします。 SSH ローカルポートフォワーディングを利用すると、作業端末から直接接続ができないポートに、SSH により確立された接続を使ってアクセスすることができるようになります。例えば、内部のネットワークのみに公開している Web サイト、データベース、リモートデスクトップに外部から
jq コマンドで日付を扱うときに、出力する日付のフォーマットを変更したり、タイムゾーンを UTC から JST に変更する機会があったので備忘録。jq Manual (Dates) に載っているコマンドを参考に整理したものになります。jq のバージョンは 1.6。 前回書いた集計方法の記事も併せてどうぞ。 目次 strptime() で受けて、strftime() でフォーマットする strptime() と strftime() で使えるフォーマット文字列 ISO 8601 形式の場合は専用の機能が使える macOS の jq では、ミリ秒を perse しようとするとエラーに UTC から JST に変換 strptime() のフォーマット文字列 %z に注意 strptime() で受けて、strftime() でフォーマットする 基本はこの形。日付文字列を strptime()で
英語配列の MacBook Pro を日本語でセットアップをすると、キーボードの入力ソースに「日本語 - かな入力」と「ABC」が最初から入っています。これらを「Google 日本語入力」に置き換えようとしたときに、英数字の「ABC」の入力ソースが削除できない状態になったので、削除する方法をまとめておきます。macOS のバージョンは Big Sir です。 目次 最初の状態 「ABC」入力ソースが削除できない 「日本語 - かな入力」入力ソースの「英字」にチェックをいれる 「ABC」入力ソースが削除できるようになった 最初の状態 システム環境設定 > キーボード > 入力ソース を開きます。 セットアップ直後の初期状態です。 「ABC」入力ソースが削除できない 左下のボタンから「Google 日本語入力」を追加して、不要になった「ABC」の入力ソースを削除しようとしているところ。以下のよ
Mac の iTerm2 でコマンドが終了したら通知する方法を紹介します。時間がかかるコマンドを実行しながら、別の作業をやりたいときなどにおすすめの方法です。以前は terminal-notifier と zsh プラグインで実現していたのですが、いつの間にか iTerm2 の標準機能でできるようになっていました。iTerm2 のバージョンは 3.4.3 で動作確認をしています。 以前の terminal-notifier と zsh プラグイン版はこちら。 目次 Shell Integration をインストール Alerts Post Notification にチェックをいれる コマンドの終了で通知をする Shell Integration をインストール Shell Integration をインストールします。iTerm2 の上部メニューから iterm2 > Install S
HHKB Professional HYBRID は機器を 4 台までキーボードに登録して、切り替えて使用することができます。切り替える方法はキーボードの裏に書いてあるのですが、よく忘れてしまうのでメモ。 目次 使用する機器を追加する 使用する Bluetooth 機器を切り替える USB 接続をする 現在 Bluetooth 接続している機器がどの数字キーに登録されているか確認する 電源をオンにしたとき、前回 Bluetooth 接続していた機器に再接続ができなくなるときの対処方法 使用する機器を追加する HHKB HYBRID は 1 〜 4 の数字キーに、機器を 4 台まで登録できます。 電源をオンにします。 Fn を押しながら Q を押します。ペアリング待機モードになり、電源ランプ が青色に点滅します。 Fn を押しながら Control を押し、さらに数字キー(1 〜 4)を押し
ECS を利用すると「タスクロール」と「タスク実行ロール」というものが出てきます。名前が似ている上に、どのように設定するのが良いか分かりづらかったので調べたことをメモ。 目次 タスクロール タスク実行ロール 番外編:EC2 起動タイプのコンテナインスタンスの IAM ロール まとめ タスクロール コンテナで利用される IAM ロールです。コンテナの中のアプリケーションから AWS のサービスを利用する場合にこのロールを設定します。 たとえば、コンテナの中のアプリケーションから S3 を利用する場合にはここを設定します。アプリケーションから AWS サービスを利用しない場合は「なし」で良いです。EC2 インスタンスに設定する IAM ロールのコンテナ版をイメージすると理解しやすいと思います。 詳細は タスク用の IAM ロール - Amazon Elastic Container Servi
Amazon Linux2 上で systemd を使ってサービスを運用する機会があったので備忘録。この記事で紹介しているコマンドで最低限の運用はできると思います。 目次 systemd とは systemd は処理を unit という単位で管理する unit ファイルの保存先 systemctl コマンド journalctl コマンド journalctl のログの右側が切れる場合は方向キーを使う journald の設定 参考資料 systemd とは systemd とは linux のシステムとサービスを管理するデーモンです。RHEL7、CentOS7、AmazonLinux2 などは、サービスの管理に systemd が使われています。ps コマンドで確認すると、プロセス番号 1 番で動作しているのが見えます。 $ ps aux USER PID %CPU %MEM VSZ R
パスワードや API のキー情報などを保存するときに利用することが多い AWS Systems Manager パラメータストア 。ここには、改行を含む複数行の文字列も保存することもできます。今回、SSH の秘密鍵をパラメータストアに保存して、EC2 の起動時にユーザデータから取り出す機会がありましたので、設定方法を残しておきます。 目次 パラメータストアに SSH の鍵を保存する IAM ポリシーを作成する EC2 インスタンスの中でパラメータストアから SSH の鍵を取り出す パラメータストアに SSH の鍵を保存する パラメータストアに SSH の鍵を登録します。以下は AWS マネジメントコンソールから登録しているところです。タイプは「文字列」を選択し、SSH の秘密鍵の情報をコピーして貼り付けます。文字列を暗号化して保存したい場合はタイプを「安全な文字列」KMS キー ID を「
2019年9月の AWS Systems Manager のアップデートにより、セッションマネージャーを使用して、クライアントとサーバー間で SSH (Secure Shell) および SCP (Secure Copy) トラフィックをトンネリングすることができるようになりました。 セッションマネージャーが SSH と SCP のトンネリングサポートを開始 文字だけ見ると何ができるようになったかサッパリですが、このアップデートにより、EC2 に SSH するために 22 番ポートを開ける必要がなくなりました。プライベートサブネットにある、グローバル IP をもたない EC2 にも踏み台なしで SSH アクセスができるようになりました。さらば踏み台サーバー。 実際に設定してみると、細かい条件があったり、ドキュメントが散らばっていたりして結構手こずったので、参照したドキュメントや手順などをま
MacBook Pro の英語配列で Happy Hacking Keyboard Professional の英語配列を使う私のキーボード周りの設定を紹介します。HHKB 英語配列を使う方は参考にどうぞ。 目次 HHKB 背面の DIP スイッチ設定 Mac の服飾キーのカスタマイズはデフォルトのまま Karabiner-Elements で左右のコマンドキー単体で英数・かな切り替え MacBook キーボードの caps lock と control キーの入れ替え HHKB 背面の DIP スイッチ設定 HHKB の背面スイッチの設定は画像の通り、2 だけオンであとはオフです。2 をオンにすると、Mac/iOS モードとなり、スペースキーの横のダイヤキーが command キーになり、delete キーが BackSpace になり、MacBook のキーボードと近い動きをするように
私は年に 1 回、自宅と職場の 2 台の Mac をクリーンインストールでアップデートするのですが、開発環境の構築をある程度自動化しています。来年のために手順を残しておくので、参考にどうぞ。 目次 これまで 事前準備 Brewfile を作成する AppStore にログインしておく パッケージをインストール 再起動 パッケージのインストール後 Brewfile に書けるパッケージの探し方 おわりに これまで 自動化を始めたのは多分 2013 年とかその頃。使っていたツールは Brewfile に始まり、Ansible を経て、去年は rcmdnk/homebrew-file を使っていました。Ansible 時代が一番長かったと思います。2019 年のクリーンインストールの時期になり、セットアップはどうしようかと調べたところ、Homebrew/homebrew-bundle が Home
目次 ディレクトリ構成 setup.py requirements.txt entry_points 動作確認 配布用パッケージの作成 配布用パッケージのインストール ディレクトリ構成 公式の How To Package Your Python Code — Python Packaging Tutorial にかかれている構成にします。プロジェクトの構造化 — The Hitchhiker's Guide to Python で紹介されているディレクトリ構造も参考になります。 今回の例では以下のような構成にしました。 samplecli ├── sample │ ├── __init__.py │ └── core.py ├── requirements.txt └── setup.py setup.py setup.py にパッケージの情報と利用するパッケージ情報を書いていき
CircleCI 2.0 を使うようになって 1 年くらい経ちました。ノウハウがたまってきたのでまとめておきます。 目次 Docker Executorを使う ダウンロードしたファイルをキャッシュする ビルドを並列化する Workflows はできるだけ使わない Docker Executorを使う CircleCI には実行環境として Docker Executor と Machine Executor がありますが、可能な限り Docker Executor を利用するようにしています。 Docker Executor はローカル開発用の CLI ツールを利用できる Docker Executor は ローカル開発用の CLI ツール を利用できます。ワークフローやキャッシュに対応していなかったりしますが、大抵のことをローカル環境で試すことができます。 .circleci/config
技術ドキュメントの管理に HUGO を使ってみたら結構良かったのでご紹介。インストール、設定、コンテンツ作成、テーマ選択、ビルド、デプロイまで一通り紹介します。こんな感じの技術ドキュメントサイトが作れます。 目次 インストール Scaffolding テーマをダウンロードする ページの作成 ページのネスト 画像の配置 ページの属性 サイト全体の設定 ビルド デプロイ インストール 公式ドキュメントにOS毎のインストール方法が書かれているので詳しくはそちらを。 Install Hugo | Hugo golang で書かれているので Releases - gohugoio/hugo から最新のバイナリを落としてきて PATH の通ったディレクトリに置いても大丈夫です。 $ mkdir ~/bin $ wget -O - https://github.com/gohugoio/hugo/rel
IntelliJ IDEA をインストールした後に毎回やる設定とプラグインを紹介します。IntelliJ IDEA がメジャーバージョンアップしたときにクリーンインストールしていますが、いつも設定を忘れてしまうのでメモ。 IntelliJ IDEA のバージョンは 2018.1 目次 テキストを画面の幅に合わせて改行する ファイルの保存時に最終行に改行を自動挿入する スタイルも一緒にコピーする機能を無効にする スペースやタブを表示する 選択文字列をシングルクォートなどで囲む Deproyment の Options で Preserve files timestamps のチェックを外す キーマップ プラグイン おまけ 過去のバージョンのゴミを消す(Mac向け) テキストを画面の幅に合わせて改行する Settings/Preferences | Editor | General | Use
AWS CLI をの使い方を教える機会があったのでそのときのメモを残しておきます。AWS をコマンドラインで操作することに興味がある方の参考になれば幸いです。 目次 AWS CLI とは インストール 使い方 設定 動作確認 名前付きプロファイル 対話形式で設定を行いたくない場合は help を使いこなそう コマンドの入力補完 AWS CLI とは AWS CLI は、AWS をターミナルなどコマンドラインから操作できるツールです。AWS の操作を自動化するときによく使います。マニュアルによると、AWS マネジメントコンソールの操作はすべて AWS CLI から行うことができるようです。 AWS Command Line Interface とは - AWS Command Line Interface インストール AWS CLI バージョン 2 のインストール - AWS Comman
これまで Mac の Python は Homebrew で入れていましたが、あるときから何かおかしくなってしまい、pip install が動かなくなってしまいました。Pyenv に乗り換えたので手順を残しておきます。Pyenv のインストール方法、Python のインストール方法、pip によるパッケージのインストール方法、更新方法を紹介します。 目次 Homebrew で入れていた Python をアンインストールする Pyenv をインストール Python をインストール pip で Python パッケージをインストール pip でインストールしたツールの一覧を表示 pip でインストールしたパッケージを更新 pip でインストールしたパッケージを一括更新 Homebrew で入れていた Python をアンインストールする Homebrew で入れていた Python をアン
NEC からユニークな据え置き型 LTE ルーター Aterm HT100LN が発売されました。データ通信用の SIM カードを挿して使う自宅用のルーターです。自宅専用になりつつあったモバイルルーター Aterm MR05LN の代替として購入してみたので感想をレビューします。 目次 外観 自宅で使うことに特化した LTE ルーター SIM フリーで国内 3 キャリアの SIM が利用可能 格安 SIM MVNO のプリセットが豊富に用意されていて初期設定が簡単 HT100LN と MR05LN の仕様比較 HT100LN と MR05LN の通信速度の比較 どういった人におすすめ? 外観 表です。電源を入れると中央のランプが青く光りキレイです。Wi-Fi に接続可能な状態になると Wi-Fi のランプが光ったり、機器が接続されると中央のランプが点滅したりします。表側にボタンはなく、シン
Happy Hacking Keyboard Professional の Bluetooth 版 と Type-S を使い比べてみたのでレビューします。BT 版のほうが好きなので BT 推しの記事になっています。BT か Type-S、どちらかの購入を検討されている方の参考になれば。 目次 サイズはほぼ同じ 背面の違い 重さ 打鍵感の違い 打鍵音の違い BT 版を買ってよかったこと BT 版を購入する前に懸念していたけど、買ってみたら大丈夫だったこと サイズはほぼ同じ サイズは電池が入る部分を除けばほぼ同じです。 以下の画像は BT と Type-S を上下に並べてみたところ。横幅はほぼ同じ。 横から見たところ。 今度は左右に並べて手前からみたところ。縦の長さもほぼ同じ。傾斜をつけるツメを立てたときの高さも同じ。 奥からみたところ。BT は上部の電池を入れる部分が出っ張っています。 背面
CentOS7 で Let's Encrypt を使って無料の SSL 証明書を取得したので実行したコマンドなどをメモ。3ヶ月で有効期限が切れるので、更新を自動化する方法も紹介します。 目次 Certbot クライアントをインストール SSL 証明書を取得する SSL 証明書の更新を自動化する Certbot クライアントをインストール Certbot クライアントのインストール CentOS 7 / RHEL 7 - Let's Encrypt 総合ポータル を参考に Cerbot クライアントをインストールします。Centos7 の場合は以下のコマンドでインストールできます。 $ sudo yum install epel-release $ sudo yum install certbot SSL 証明書を取得する Let's Encrypt の使い方 SSL/TLS サーバ証明書の
ログ可視化ツールの 3 点セット、Fluentd + Elasticsearch5 + Kibana5 を試すメモ 5 回目。前回は Elasticsearch に登録されてから一定期間を過ぎたログを自動的に削除するところをやりました。 これまでの状態で Elasticsearch をしばらく動作させていると、Kibana が応答しなくなる現象が発生しました。調べてみると Kibana ではなく Elasticsearch がメモリ不足で落ちている様子。Elasticsearch を動作させているマシンのメモリは 2GB。 低スペックのサーバでも動作させられるように Elasticsearch のメモリ使用量を減らす方法を調べました。 目次 Elasticsearch のデフォルトのメモリ使用量は 2GB くらい Java VM のヒープサイズを調整する インデックスのキャッシュ量を調整す
client マシンの firewalld 設定 firewalld を起動します。 $ sudo systemctl start firewalld client マシンでは Apache が動作しているので httpd サービスのポートを開けます。 $ firewall-cmd --add-service=httpd --permanent $ firewall-cmd --reload elasticsearch マシンの firewalld 設定 firewalld を起動します。 $ sudo systemctl start firewalld Fluentd と Elasticsearch のポートを開けます。Fluentd は UDP のポートも開ける必要があります。 $ firewall-cmd --permanent --add-rich-rule="rule famil
オレオレ SSL 証明書(自己署名証明書)を作るワンライナーです。 $ openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -subj /CN=localhost -keyout server.key -out server.crt 上記のコマンドで server.key(秘密鍵) および server.crt(自己署名証明書) が作成されます。有効期限は 10 年(3650 日)。Common Name が決まっている場合は CN=localhost のところを FQDN に置き換えてもいいでしょう。 オレオレ証明書を作るだけならこれで終わりですが、せっかくなので秘密鍵(Private Key)と証明書署名要求(CSR)、証明書(CRT)を 1 つずつ順番に作る方法も紹介します。 目次 秘密鍵を作成 証明書署名要求を作
ログ可視化ツールの 3 点セット、Fluentd + Elasticsearch5 + Kibana5 を試すメモ 2 回目。前回は 3 つのツールをインストールして動作確認をするところをやりました。 今回は Fluentd で Apache のログを収集して Elasticsearch に登録するところをやります。 目次 Apache をインストール Fluentd で Apache のアクセスログを elasticsearch ホストに転送する 転送されてきたログを Elasticsearch に登録する Apache のログが Elasticsearch に登録されているか確認 ログ可視化運用でよく使う Elasticsearch の API Apache をインストール client マシンにログイン $ vagrant ssh client Apache をインストール $ su
Vagrantfile はこんな感じ Vagrant.configure(2) do |config| config.vm.box = "bento/centos-7.2" config.vm.define "client" do |vm| vm.vm.hostname = "client" vm.vm.network "private_network", ip: "192.168.33.11" vm.vm.provider "virtualbox" do |vb| vb.gui = false vb.memory = "1024" vb.cpus = "2" end end config.vm.define "elasticsearch" do |vm| vm.vm.hostname = "elasticsearch" vm.vm.network "private_network", i
ログ可視化ツールの 3 点セット、Fluentd + Elasticsearch5 + Kibana5 を試すメモ 3 回目。前回は Fluentd で Apache のログを収集して Elasticsearch に登録するところまでやりました。 今回は Kibana から Elasticsearch のデータを参照するところをやります。Kibana の SSL 化も行います。 目次 デフォルトインデックスを登録する Apache ログのインデックスを登録する Apache ログを Kibana から閲覧する Kibana へのアクセスを SSL にする デフォルトインデックスを登録する ホストマシンのブラウザからKibanaにアクセスします。 http://192.168.33.13:5601/ Elasticsearch のインデックス入力して、という画面が表示されるので、以下のように
次のページ
このページを最初にブックマークしてみませんか?
『karakaram-blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く