サーバーバナーを抑制するSSHクライアントオプション?


回答:


-1

できません。(少なくともOpenSSHの在庫はありません)

サーバーバナーは、認証が行われる前にサーバーによって送信されます。通常は、法的免責事項または同様の「今すぐ切断を許可されていない場合」タイプのメッセージ、またはリモートユーザーに抑制/無視を許可したくないその他の重要な内容を含めることがポイントです。

これを本当に取り除きたい場合は、SSHクライアントのカスタマイズバージョンをハックしてコンパイルする必要があります。


15
これは古い情報であり、一般的なディストリビューションには当てはまりません。以下のいずれかを使用するか-q-o LogLevel=errorうまく機能するための回答:
Dogsbody

27

LogLevelオプションがあります:

バナーは表示されませんが、エラーを受け取ることができます:

$ ssh -o LogLevel=error localhost 
Permission denied (publickey).

OpenSSH 6.9クライアントで動作しませんでした-おそらくバージョン情報が役立つでしょうか?
ゼインS Halsall

OpenSSH_6.6.1p1のUbuntu-2ubuntu2.3と連携し、OpenSSLの1.0.1f 2014年1月6日
Kulbir SAINI

6

私はそれをテストし-qましたが、sshコマンドで使用できると思います。パラメーター-qはQuietモードを意味していました。ほとんどの警告および診断メッセージが抑制されます。たとえば

ssh -t '$node2' 'sudo cat xxx' |grep xxxxx" 2>/dev/null >/root/node2

または

ssh -t -q '$node2' 'sudo cat xxxx' |grep xxx" >/root/node2

これが他の人を助けることを願っています


-qはCentOSに6とSUSE 2.6(クライアントは、OpenSSHの6.9だったのはFedora 22のクライアントから仕事しませんでした、それは特定のSSHバージョンを参照する場合はたぶん、この答えはupvotedされるだろう。?
Zayne S Halsall

5

以下で〜/ .ssh / configを更新してバナーを非表示にします

Host *
    LogLevel error

「Host *」行は冗長であるか、間違っていると思います。とにかく、私はそれなしで望ましい効果を得ます。また、OPは特定のプログラム条件の下で効果を得たいと考えていることに注意する必要があります。その場合、上記のコマンドラインオプションがより良い解決策です。
UncaAlby

4

ブロックBanner内で(なしに)別の値を設定できるはずMatchです。

例えば:

Match Address 192.0.2.0/24
        Banner none

ただし、これは特定の条件に基づいてサーバー側実行する必要がありますクライアント側からはできません。


4

-qを探しているようです:

静かなモード。ほとんどの警告および診断メッセージが抑制されます。

ssh user@host
*------------------------------------------------------------------------------*
| banner: blah                                                                 |
*------------------------------------------------------------------------------*
Last login: Mon Oct  2 16:40:01 2017 from ipAddress
$

-q

ssh -q user@host
Last login: Mon Oct  2 16:40:30 2017 from ipAddress
$

素敵で静か。バナーはまだ構成されていますが、ユーザーは気にしません。

別の注意:バナーを使用しないでください。何も確認または拒否しないことをお勧めします。それはあなたが心配していない人々とあなたを助けません、そしてあなたが心配している人々は彼らがそれを過ぎて働くので笑います;-)


0

私にとって、後者は重要なエラー情報を抑制するため、-o LogLevel=errorより優れていました-q(これは終了コードを介してのみ取得できます)。

これを比較します(オプションなし): [root@myserver804 myuser1]# ssh targetserver1; echo "exit code=$?" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:hvtR8Dl09aUeCeG2cT5EA8b+nbCOoV6h1DUON2vE63w. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending RSA key in /root/.ssh/known_hosts:1735 RSA host key for targetserver1 has changed and you have requested strict checking. Host key verification failed. exit code=255

これで(静かに) [root@myserver804 myuser1]# ssh -q targetserver1; echo "exit code=$?" exit code=255

これで(ログエラーのみ) [root@myserver804 myuser1]# ssh -o LogLevel=error targetserver1; echo "exit code=$?" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:hvtR8Dl09aUeCeG2cT5EA8b+nbCOoV6h1DUON2vE63w. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending RSA key in /root/.ssh/known_hosts:1735 RSA host key for targetserver1 has changed and you have requested strict checking. Host key verification failed. exit code=255

したがって、結論は次のとおりです。関連するエラーにまだ興味がある場合は、 -o LogLevel=error


0

どちら-q-oLogLevel=error作品。

働くのはSTDERRを抑制することです

ssh hostname command 2>/dev/null

ただし、欠点は、STDERR抑制がSSHプログラムだけでなくコマンド全体に適用されることです。


-2

シェルを呼び出すだけで、バナーが表示されなくなります。

ssh you@someplace.com /bin/bash

ただし、少なくとも私にとっては、$ PS1は設定されないため、ハングしているように見えます。いくつかのコマンドを入力して、機能していることを確認する必要がありました。


1
これは(少なくともFreeBSD / OpenSSH_5.8p2ではそうではありません)Bannerオプションで表示されるバナーを抑制/etc/sshd_configしません
voretaq7

ああ、質問でmotdを見ました。それは私が説明を適切に読むことを学びます;)
chrskly

-2

私にとっては-qがうまくいきましたが、ファイルに保存された出力で作業することができました。

ssh -q root @ server28 "ls -alF / dr_mksysb | egrep -v \" total | lost + found | ./ | ../ \ "| awk '{print \ $ NF}' | sed 's /.\$ // g '"> $ {basedir} /28.list


それはあなたのために働くことは素晴らしいことです。それにもかかわらず、これは質問に答えず、せいぜいコメントでなければなりません。
ジェラルドシュナイダー

それが問題です。質問に答えます。私はmotd(バナー)を取り除きました。質問で述べたのとまったく同じ問題がありました
Zatarra

質問に関連する回答の唯一の部分は-qパラメータです。残りは完全に無関係であり、あなただけに役立ちます。パラメータは、すでにそれはあなたを助けている場合ので、それをupvoteすること自由に感じ、答えとして与えられているが、この「答えは」のみdownvotesを受け取ることになります
ジェラルド・シュナイダーを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.