mcpField
S
ssh-schluessel

ssh-schluessel

github.com/dischen87その他09 回インストール今日更新
リポジトリ

ssh-schluessel について

ssh-schluesselは、AlbatrosアカウントやサーバーへのSSH鍵アクセスを設定・テストするスキルです。秘密鍵は端末内に保管し、公開鍵を登録する手順と接続時のトラブルシューティングを説明します。

主な機能

  1. 01Ed25519鍵ペアの生成
  2. 02秘密鍵を端末内に保持
  3. 03公開鍵の登録と確認
  4. 04SSHホスト設定の構成
  5. 05よくある接続エラーの調査

活用シーン

  1. 01AlbatrosのSSHアクセス設定
  2. 02鍵認証によるサーバー接続のテスト
  3. 03端末紛失後のアクセス鍵の交換

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dischen87/albatros-skills --skill ssh-schluessel

インストール後、Claude Code で/ssh-schluesselを入力して読み込まれたか確認します。

詳細

SSHキー:家の鍵と錠前

たとえ

SSHキーはペアになっています。

  • 家の鍵(秘密鍵)は、常にあなたのコンピューターに置いておきます。ほかの人には渡しません。Albatrosにも、私にも渡しません。
  • 錠前(公開鍵)は、どこにでも取り付けてもらえます。錠前を見ても、それで何かを開けることはできません。

あなたのサーバーのドアに錠前を取り付けます。その後は、対応する家の鍵を持っている人、つまりあなたしか中に入れません。パスワードは必要ありません。

コマンドを実行する前に、このたとえを説明してください。「秘密鍵」と「公開鍵」という言葉を使うのはその後にして、使うときは必ずたとえと一緒に説明します。

このたとえの使い方: 最初の返答で、質問したりコマンドを見せたりする前に、相手に伝えてください。すぐに解決策を求めている場合も同じです。

厳守事項

  • 秘密鍵がコンピューターから外に出ることはありません。読み取ったり、表示したり、コピーしたり、どこかにアップロードしたりしてはいけません。頼まれても同じです。相手がチャットに貼り付けようとしたら、丁寧に止めて、その理由を説明してください。
  • アップロードするのは、.pub(public、公開)の拡張子で終わるファイルだけです。アップロード前に、内容が ssh-ed25519 で始まり、1行だけであることを確認してください。
  • 既存のキーを上書きしてはいけません。ssh-keygen は上書き前に確認しますが、最初から別のファイル名を使ってください。

手順

1. すでにAlbatrosキーがありますか?
ls ~/.ssh/albatros.pub 2>/dev/null && echo "schon da" || echo "noch keiner"

すでにあれば、それを使って手順3に進みます。

2. キーを生成する(ローカル)

事前に次のように伝えてください。「これから、あなたのコンピューターで新しい家の鍵と、それに合う錠前を作ります。どちらも、ユーザーフォルダー内の隠しフォルダー .ssh に保存されます。」

mkdir -p ~/.ssh && chmod 700 ~/.ssh
ssh-keygen -t ed25519 -C "albatros" -f ~/.ssh/albatros -N ""
  • -t ed25519:最新の安全なキー方式です。
  • -f ~/.ssh/albatros:ファイル名です。2つのファイルが作成されます。albatros(家の鍵)と albatros.pub(錠前)です。
  • -N "":追加のパスワードを設定しません。これにより、私がコマンドを実行できます。キーの束に追加の錠前を付けたい場合は、後で自分専用のターミナルウィンドウで ssh-keygen -p -f ~/.ssh/albatros を入力し、パスフレーズを設定してください。そのパスフレーズをチャットに入力してはいけません。

Windows:mkdir/chmod の行を除けば、同じコマンドをPowerShellで実行できます。フォルダーは $HOME\.ssh です。

3. 錠前だけをアップロードする
cat ~/.ssh/albatros.pub

相手にこの行を見せて、次のように伝えてください。「これがあなたの錠前です。誰に見られてもかまいません。」この行をAlbatrosのツール schluessel_hinterlegen に渡してください。相手が錠前をアップロードしたい場合は、改めて確認せず、すぐに実行してください。錠前を登録しても危険はありません。

ツールがない場合(Albatrosがまだ接続されていない場合)は、まずスキル start の手順1に従ってください。代わりに、相手がalbatros.buildのコックピットにある「キー」にこの行を貼り付けることもできます。

4. どの鍵がどのドアに対応するかをコンピューターに伝える

~/.ssh/config に項目を追加してよいか尋ねてください。たとえるなら、鍵の束に「この鍵はaufwind.sh用」と書いた札を付けるようなものです。削除せず、追加だけします。

cat >> ~/.ssh/config <<'EOF'

Host aufwind.sh
  IdentityFile ~/.ssh/albatros
  IdentitiesOnly yes
EOF
chmod 600 ~/.ssh/config
5. 初めてのアクセス

Light の場合、アクセスするサーバーはありません。港の鍵を試してください:ssh -T [email protected]。相手が名前で迎えてくれれば(«successfully authenticated»)、鍵は合っています。その後、スキル git-logbuch に進みます。このステップの残りとミッション flugschule-02-ssh-schluessel は Pilot のものです。

Pilot の場合: 次のコマンドを本人に入力してもらいます(Claude Code では先頭に ! を付けます)。

ssh {name}@aufwind.sh

{name} はサーバー名です(konto_status に表示されています)。初回はコンピューターが「Are you sure you want to continue connecting?」と尋ねます。これはサーバーが身分証を提示しているイメージです。指紋がコックピットに表示されているものと一致したら、本人に yes と入力してもらいます。

ログインしたら、echo "Ich war hier" > ~/hallo.txt を実行し、その後 exit を実行します。これが自分のサーバーに残す最初の足跡です。

自分でテストする必要がある場合(ターミナルが対話型ではない場合):

ssh -o StrictHostKeyChecking=accept-new {name}@aufwind.sh 'echo "Ich war hier" > ~/hallo.txt && cat ~/hallo.txt'
6. ミッションを確認する

mission_pruefen に flugschule-02-ssh-schluessel を指定します。検査では、サーバーに ~/hallo.txt があるかどうかを確認します。

うまくいかない場合

  • Permission denied (publickey):鍵が扉に合っていません。次の点を順に確認してください。サーバー名は正しいですか? 鍵はアップロードされていますか(konto_status)? ~/.ssh/config に項目がありますか? ssh -v {name}@aufwind.sh でテストし、「Offering public key」の行を探してください。
  • 「この鍵はすでに別のアカウントに登録されています」: GitHub と同様に、鍵は Albatros アカウント一つにしか登録できません。2つ目のアカウントには専用の鍵を作成し(ssh-keygen -t ed25519 -C "albatros-zwei" -f ~/.ssh/albatros-zwei -N "")、~/.ssh/config に専用の項目を追加します:Host aufwind-zwei に HostName aufwind.sh、IdentityFile ~/.ssh/albatros-zwei、IdentitiesOnly yes を設定します。このアカウントでは、アドレスとして aufwind.sh の代わりに aufwind-zwei を使います。たとえば git@aufwind-zwei:<name>/projekt.git です。
  • 新しいコンピューターの場合: 新しいコンピューターで新しい家の鍵を作り、鍵を追加でアップロードします。古い家の鍵をメールやUSBメモリでコピーしてはいけません。
  • コンピューターを紛失または盗難された場合: コックピットで古い鍵をすぐに削除します。これはシリンダー錠を交換するようなものです。
  • WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED:サーバーの身分証が前回と異なっています。安易に無視しないでください。コックピットで指紋を照合してください。一致した場合に限り、ssh-keygen -R aufwind.sh で古い行を削除します。

最後のメッセージ

このステップでの最後のメッセージは、「家の鍵と錠前」のイメージに触れ、要点をもう一度伝える一文から始めてください。その後、達成したこと、結果の保存場所、未完了のこと、次に進む内容を伝えます。

コメント