[解決済み] SSH接続をチェックするbashスクリプトを作成するには?
2022-12-06 05:43:16
質問
リモートマシンにログインし、秘密鍵と公開鍵を作成するbashスクリプトを作成しているところです。
私の問題は、リモート マシンはあまり信頼性が高くなく、常に稼働しているわけではないことです。SSH 接続が稼働しているかどうかをチェックする bash スクリプトが必要です。将来使用するために実際に鍵を作成する前に。
どのように解決するのですか?
sshが出す戻り値で確認できます。
$ ssh -q user@downhost exit
$ echo $?
255
$ ssh -q user@uphost exit
$ echo $?
0
EDIT: 他の方法として、nmapを使うこともできます(鍵やログイン情報を持つ必要がありません)。
$ a=`nmap uphost -PN -p ssh | grep open`
$ b=`nmap downhost -PN -p ssh | grep open`
$ echo $a
22/tcp open ssh
$ echo $b
(empty string)
しかし、メッセージを grep する必要があります (nmap はポートがフィルタリングされたか、閉じられたか、開かれたかを示すために戻り値を使用しません)。
EDIT2:
もし、ssh-portの実際の状態に興味があるのなら、代わりに
grep open
を
egrep 'open|closed|filtered'
:
$ nmap host -PN -p ssh | egrep 'open|closed|filtered'
一応、完結に。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] Bashシェルスクリプトの入力引数の存在確認
-
[解決済み] 新しい鍵を作成せずに、SSH鍵のパスフレーズを削除するにはどうすればよいですか?
-
[解決済み] Bashのコマンドラインと入力制限
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Bashでコマンド出力を隠す方法
-
[解決済み] Makefileでシェルコマンドを使用する方法
-
[解決済み] コマンドライン・ターミナルでの乗算
-
[解決済み] Bashの履歴にコマンドを表示させないようにするには?
-
[解決済み] MacOSXでZSHをデフォルトシェルにする [終了しました]。
-
[解決済み] Bashのバックチックに相当するバッチ
-
[解決済み] bashでスクリプトの中で宣言された変数をリストアップする方法は?
-
[解決済み] Bashの引数で引用符を維持するには?重複
-
[解決済み] bashのifブロックの中でboolean変数を評価する方法は?重複
-
[解決済み] ファイル名の一部をリネームする [重複]。