zaki work log

作業ログやら生活ログやらなんやら

Linux

共用アカウント環境における個人用GitとSSHの設定

本記事は「エーピーコミュニケーションズ Advent Calendar 2022」の2日目のエントリとなります。 Gitを使う作業を個人に与えられたOSアカウントで行う分には何も不都合はないけれど、共用サーバーの共用アカウントを複数人で使用する場合、コミット時の名前…

Ubuntu 22.04をDVDブートしてAutoinstallで自動インストール (TFTP/PXEブート無し)

ググるとPXEブートしてネットワークインストールの情報はたくさんあるけど、DVDブートからAutoinstallする情報はみあたらなかったのでお試し(というか自動インストールというとkickstartしか知らずDebian/Ubuntu系ってどうするんだろう、という状態でしたw)…

WSLでVM環境のコピー(exportとimport)

WSLにはVMの内容をtar形式のアーカイブファイルへエクスポートする機能がある。 これでVMのバックアップやスナップショット的な状態保存、別名でインポートすることで同じディストリビューションのVMを複数作ったりできる。 Dockerでいうとexport/importに相…

オフライン環境へのRHEL8.6インストールとサブスクリプション割り当て

ちょっと構築する機会があったのでメモ。 OSのインストール サブスクリプション割り当て カスタマポータル上でシステム登録 証明書ファイルを使ったサブスクリプション登録 Yumリポジトリ設定 デフォルトのリポジトリの無効化 ISOイメージ内のパッケージファ…

Docker版GuacamoleでSSH接続の日本語対応 (Debianイメージへの日本語フォント追加)

前夜まとめたDockerコンテナでデプロイした素のGuacamoleは、SSH接続しても日本語の表示や入力が文字化けする。 zaki-hmkc.hatenablog.com 今回はこの対応。 といっても先に結論を書くと、guacdコンテナに日本語フォントを追加すればOK 日本語フォント入りイ…

Apache Guacamoleを使ってwebブラウザでSSH接続をお試し (Docker版)

ネットワークの制限でwebアクセス(HTTP/HTTPS)しか許可されておらず、SSHアクセスが使えないような環境でリモートのLinuxサーバーのシェルへアクセスしたい場合、Apache Guacamoleを使うことでwebブラウザの画面でSSHログインを行う。(webページ内にSSHアク…

[Linux] ProxyJump設定でSSHの多段アクセスとscp/ポートフォワード

検証環境へアクセスするために踏み台サーバ―を経由しないとアクセスできないとか、踏み台サーバーを3つ経由しないと本番環境へアクセスできないとか、そんな場合でもsshで1コマンドでアクセスするためのオプション指定について、man sshを眺めていたらたまた…

[Linux] GitHubに登録している公開鍵を ~/.ssh/authorized_keys に取り込む

取り込むというか単にcurlで取得できるよ、という小ネタ。 少し前からUbuntuのOSインストール時にGitHubに登録してるSSH公開鍵を設定できるようになってたりしてますが、GitHubの公開鍵は特定のURLで簡単に参照できるので、OSインストール後でも任意のタイミ…

[VyOS] NAT設定を使ったネットワーク間のルーティング (手動 & Ansible / vyos_config)

VyOS自体のIPアドレス設定は前回までにできたので、ようやく(?)ネットワーク間でNATを使ったルーターとして動作するための設定をやってみる。 (試行錯誤でやってるんで「こうした方がいい」とか「いや、そのりくつはおかしい」とかあったらぜひ教えて欲しい……

[Linux] systemdのユニットファイルを自分で書いてプログラムをdaemon動作させてみる

systemdのユニットファイルを作成してみる。 rcスクリプト育ちだったのでsystemctlコマンドは慣れるのに時間はかかったといえさすがにもう息を吸うように使うようになったけど、systemdのユニットファイル周りは基本的な部分があまりわかってないのでお試し…

[Linux] ターミナルでコマンド履歴の検索とsttyのstop設定

bashやzshはシェル上でCtrl-r押下してからコマンド名やオプションの文字列を入力すると、コマンド履歴からインクリメンタルサーチできる。 (reverse-i-search)`': Ctrl-rを押下すると↑のようにプロンプトが変化するので、例えばここにkubectlと入力すれば、…

[ssh / docker / kubectl] ローカルの標準出力をリモートの標準入力にする

sshやdocker exec、kubectl execで、シェルを起動せずに直接コマンドを実行できるが、sshなどを実行するローカルの標準出力をリモートホストやコンテナの標準入力として処理する方法について。 SSHの場合 前提。 ローカルのhostnameはcloud-devで、リモート…

[Oracle Cloud] CLIツールのセットアップメモ

Oracle CloudをCLIで操作するためのツールのインストールとセットアップについて。 以前何事もなくセットアップしていたんだけど、新しい環境に入れようとしたらいろいろ(鍵設定周りで)詰まったのでメモ。 (全自動でAPIキー設定出来る方法があるかもしれない…

VS CodeのRemote Development SSHのサーバー側のプロセスを再起動する

Ctrl + Shift + p(winの場合)でコマンドパレットを出して「Remote-SSH: Kill VS Code Server on Host」を選択し、プロセスをkillする対象サーバーを指定する。 実行するとどうなる サーバー側のVS Codeプロセスが終了するため、一度VS Codeがリモートから切…

[Ansible] acme_certificateモジュールでLet's Encryptから証明書を発行しApacheでHTTPSサーバー構築

httpdパッケージでApacheをインストール・HTTPS対応し、Let's Encryptの証明書の発行と設定までAnsibleで設定、できるのかな?と思って試したらうまくいった。 Let's Encryptで証明書を作成するには、ACMEプロトコルを利用し、このACMEプロトコルを操作する…

[Ansible] ターゲットホストのIPアドレスの参照とデフォルトゲートウェイの設定についてのメモ

Ansibleの実行の際に、設定ファイルを作ったりしたい場合に使えると便利なターゲットホストのIPアドレスの参照方法について。 内容は「動かしてみてその内容をまとめたもの」なので、ドキュメントやソースコードを追ったりまでは確認できていないです。 play…

VS CodeのRemote DevelopmentでSSHアクセスすると接続先の高負荷状態が続く問題と対応

年末くらいから、メインの作業用Linuxマシン(この1台のみ)にVS CodeのRemote DevelopmentでSSHアクセスすると一定時間高負荷状態が続いていたので、なんとかならないかと原因調査した結果。 なお、クライアント側のVS CodeはどのPCから接続しても、特定の接…

SNMP Exporterを使ってArista EOSのSNMPの情報をPrometheusから参照する

SNMP Exporterをお試し。 環境は、SNMP ExporterもPrometheusもCentOS 7上で直接バイナリを実行している。(非K8s環境) SNMPエージェントについてはDockerで動作するArista EOSを使用。 Prometheusバージョンは2.23を使用。 実行用バイナリの入手 SNMP Export…

kickstartインストールで公開鍵の登録処理も追加

kickstartインストールのcfgファイルに %post command 1 command 2 : : %end と記述しておけば、インストール処理の最後に実行される。 access.redhat.com なので、ここに公開鍵を作成したいユーザの/home/<username>/.sshディレクトリを作成し、公開鍵の内容をcatでフ</username>…

PrometheusのBlackbox Exporterを使ったターゲットノードの死活チェックをお試し (HTTP / TCP)

Blackbox Exporterをお試し。 機能的にはKubernetesのヘルスチェックのhttpGetおよびtcpSocketのように、外部からターゲットに対してネットワーク的に疎通確認を行うExporterとなっている。 (よって、監視対象ノード上で動かす必要はなく、Exporter(を動かす…

ものすごくざっくりとPrometheusのアラートルールを設定して動きを見てみる

Prometheusのアラートルールを設定する。 閾値を越えたらalert状態にするというもの。 この状態になった場合の通知はまた別途AlertManagerを使うが、その前段階の設定についてざっくりと確認してみた。 prometheus.io 環境やベースのPrometheusは以下の「Cen…

PrometheusとNode ExporterをCentOS上でバイナリを直接動かして動きを確認してみる

先日のOperatorを使ったK8sクラスタへのデプロイは全自動だったので一体何が動いたのか!?という感じだったので、Prometheusのコンポーネントや動きを理解するために、素のPrometheusを使いGetting Startedの内容に沿って動かしてみる。 prometheus.io Prom…

[ESXi / CentOS 7] ディスクを"追加"してパーティションサイズを拡張

実はスナップショットがあると既存ディスクのサイズ拡張ができなかったので、新しくディスクを作成してパーティションサイズを拡張した。 zaki-hmkc.hatenablog.com 内容は、上記の「サイズ拡張した領域にパーティション作成して拡張」が「新しく追加したデ…

IUSリポジトリのパッケージでCentOS 7にGit version 2をインストールした

VS CodeのGitHistoryやGitLens拡張がいつの間にか動かなくなってた。 エラーの通りGit Versionが1系なのが原因なのでアップデートしてみる。 こんなエラー git shortlog -e -s -n HEAD (completed in 0.008s) git log --full-history --pretty=oneline --dat…

制限ネットワーク環境のRHEL7でproxy経由でサブスクリプション登録とDockerインストール

実は自宅環境でRHEL入れるの初めてなんですよ…。 記事内のproxyは172.29.0.11:8080 zaki-hmkc.hatenablog.com RHEL7の取得とインストール後のサブスクリプション登録 イメージの取得 OSインストール サブスクリプションの登録 proxy設定 システムの登録 利用…

[Docker] コンテナでSquidを動かしてproxyサーバーを構築

2年近くproxyすらないネットに繋がらない環境にいて、少し前にようやくパブリッククラウドの自由ないんたーねっとを手に入れたぜうっひょーと思ったら、今度はついにproxy環境での検証をすることになったので、自宅ラボにも似たような構成作れないか、Squid…

[ESXi] CentOS 7のストレージ(XFS)を拡張する

CentOS 7 (on ESXi 6.5)のストレージを増やしたい。 LVMわかってないので、参考記事ベースに作業してみたらうまく行ったという内容。 ディスクサイズの増加 パーティション作成 fdisk起動 現パーティション 空きストレージにパーティション作成 システムタイ…

Windows Terminalの新規ターミナルに項目追加して1操作で指定サーバーにssh接続できるようにする

Windows Terminalの「新しいタブ(ターミナル)を開く」に、いつもsshで接続して作業するメインのホストにシェルを起動する。 設定箇所 タブを開く新しい項目を追加する 追加項目のコマンドにsshを指定する 公開鍵認証設定してパスワードを聞かれないようにす…

[コマンドメモ] 引数を1個しか取れないコマンド実行にxargsで複数のパラメタを渡したいときは-n1を使う

以前bashのループで回避したけど、そもそもxargsで1個ずつ引数渡せないの?と調べたら-nオプションがあったのでメモ。 $ kubectl config get-contexts -o name | grep ... | xargs kubectl config delete-context Delete the specified context from the kub…

[Azure] CLIツールをインストール(CentOS)して、VM作るまでお試し実行

AzureのCLIコマンドをローカルのCentOS7へインストールする。(ただそれだけ) yumを使ってインストールするので簡単。 docs.microsoft.com 2020.07.28時点でver 2.9.1をインストールした時の作業ログです。 インストールする際は、最新の情報を確認して作業し…