Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
sshconfig-lint — OpenSSHクライアント設定ファイル向けのルールベースのリンターで、重複ホスト、不足しているIDファイル、脆弱なアルゴリズム、ワイルドカードの順序問題、危険な設定を検出し、JSON出力とCIフレンドリーな終了コードを提供します。 | Kitploit
ツール/GitHubGitHub/noah4ever/sshconfig-lint
汎用ユーティリティ静的分析コード分析構成監査ネットワークセキュリティDevSecOps
GitHubnoah4ever/sshconfig-lint

sshconfig-lint

OpenSSHクライアント設定ファイル向けのルールベースのリンターで、重複ホスト、不足しているIDファイル、脆弱なアルゴリズム、ワイルドカードの順序問題、危険な設定を検出し、JSON出力とCIフレンドリーな終了コードを提供します。

リポジトリを見る
16141日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

sshconfig-lint

Tests crates.io License: MIT

SSH設定が変更されるあらゆる場所に対応する単一のエンジン。

sshconfig-lint は、OpenSSH クライアント設定における意味的な誤りを検出します。重複ホスト、壊れた identity パス、安全でないオプション、脆弱なアルゴリズム、ワイルドカードの順序、複雑に絡み合った Include チェーンなどです。同じルールコードをローカル、Git フック、GitHub Actions、エディタで使用できます。

プライベートブラウザプレイグラウンドを試す · インタラクティブな例で学ぶ · すべてのルールを読む

ブラウザチェッカーはお使いのデバイス上で動作します。設定内容がアップロードされることはなく、テレメトリも収集されません。

クイックスタート

root@kitploit:~
# ~/.ssh/config をチェック
sshconfig-lint

# 1つ以上のリポジトリ設定をチェック
sshconfig-lint .ssh/config infrastructure/ssh_config

# 警告とエラーで失敗させる
sshconfig-lint .ssh/config --strict

インストール

Homebrew

root@kitploit:~
brew tap Noah4ever/tap
brew install sshconfig-lint

Cargo

root@kitploit:~
cargo install sshconfig-lint

Arch Linux

root@kitploit:~
yay -S sshconfig-lint-bin

リリースページ には、Linux、macOS、Windows 向けの検証済みバイナリが用意されています。便利なインストーラは、インストール前にリリースのチェックサムを検証します:

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/Noah4ever/sshconfig-lint/main/install.sh | bash

VERSION=v0.5.0 または INSTALL_DIR=~/.local/bin を設定して、デフォルトを上書きできます。

GitHub Actions

root@kitploit:~
name: SSH config
on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: Noah4ever/[email protected]
        with:
          paths: |
            .ssh/config
            infrastructure/ssh_config
          strict: true

検出結果は、正確なファイルと行に注釈として表示されます。Action はタグに対応するリリースをダウンロードし、実行前に SHA256SUMS を検証します。

GitHub Code Scanning が有効なリポジトリでは、SARIF を個別にアップロードできます:

root@kitploit:~
- run: sshconfig-lint .ssh/config --format sarif > sshconfig-lint.sarif
- uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: sshconfig-lint.sarif

Pre-Commit

root@kitploit:~
repos:
  - repo: https://github.com/Noah4ever/sshconfig-lint
    rev: v0.5.0
    hooks:
      - id: sshconfig-lint-strict

警告でコミットをブロックしない場合は id: sshconfig-lint を使用します。設定ファイルが別の命名規則を使用している場合は、プロジェクト内で files: を上書きしてください。

エディタ

VS Code 拡張機能 を Marketplace からインストールするか、以下を実行します:

root@kitploit:~
code --install-extension NoahThiering.sshconfig-lint

拡張機能は sshconfig-lint lsp を起動し、一致する検証済みバイナリを一度ダウンロードした後はオフラインで動作します。.ssh/config、ssh_config、chezmoi の dot_ssh/config を認識します。テレメトリは収集されません。ソースコードは editors/vscode で入手できます。

LSP をサポートする任意のエディタで、以下を起動できます:

root@kitploit:~
sshconfig-lint lsp

v0.5 言語サーバーは、オープン時、変更時、保存時に全行の診断を公開します。無題のバッファではコンテンツのみのルールが実行され、保存されたファイルでは Include とファイルシステムパスが追加で解決されます。

出力形式

root@kitploit:~
sshconfig-lint --format text
sshconfig-lint --format json
sshconfig-lint --format github
sshconfig-lint --format sarif

JSON の検出結果には、severity、code、rule、line、file、message、hint、documentation が含まれます。ルールコードと終了コードは安定した自動化インターフェースです。

終了コード意味
0エラーレベルの検出なし、および --strict 時の警告なし
1ブロックする検出が少なくとも1つ
2要求された設定のうち少なくとも1つを読み取れなかった

ルール

ルールガイドには、問題のある正確な断片、修正済みの設定、それが重要な理由、OpenSSH で結果を検証する方法が示されています。

開発

Rust 1.85 以降が必要です。

root@kitploit:~
cargo test --all
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt -- --check

CONTRIBUTING.md、公開ロードマップ、セキュリティポリシー を参照してください。

ライセンス

MIT

ツールをダウンロード
コードルール重大度
DUP_HOST重複する Host ブロックwarning
MISSING_IDENTITYIdentityFile が見つからないerror
WILDCARD_ORDERHost ワイルドカードの順序warning
WEAK_ALGO脆弱なアルゴリズムwarning
DUP_DIRECTIVE重複するディレクティブwarning
INSECURE_OPT安全でないオプションwarning
UNSAFE_CTRL_PATH安全でない ControlPathwarning
INCLUDE_CYCLEInclude サイクルerror
INCLUDE_READInclude を読み取れないerror
INCLUDE_GLOB無効な Include パターンerror
INCLUDE_NO_MATCHInclude がファイルに一致しないinfo