2016-12-23 13 views
1

コマンドラインツールを使用してsshサーバアドレスにユーザ名が存在するかどうかを確認するにはどうすればよいですか?例えば、私は、isvaliduserは名前usernameを持つユーザーがssh_serverに存在するかどうかをテストするいくつかの魔法のような機能ですユーザ名がsshサーバで有効かどうかを確認する方法

isvaliduser [username] [ssh_server] 
result: True 

を入力するのが大好きです。しかしこれは実現可能ですか?

私の特定のアプリケーション:アクセスする必要のあるリモートサーバーには動的IPがあります(私は動的DNSサービスを使用できません)。自分のターゲットアドレスが入っているサーバーアドレスのリストを考え出すことができますが、どちらが私のものかを理解する方法が必要です。私はこれを行う1つの方法は、いずれかのアドレスにユーザがあるかどうかをテストすることだと思ったmyusername。しかし、あなたが私の特定の問題を解決するための別の提案をしているなら、私はそれを聞いてうれしいです。

+0

これを実行する最善の方法は、サーバー上で動作するプログラムが独自のIPでDNSレコードを更新する動的DNSサービスです。 –

+0

@DarkFalcon残念ながら、ダイナミックDNSサービスは私のための選択肢ではありません – Delyle

+0

サーバにログインしようとしていない限り、サーバ上でユーザ名が有効でないことを知りません。それをやる。確かに、ユーザー名だけではなく、より多くの情報を提供する必要があります。 –

答えて

0

あなたがそのサーバーに接続し、ユーザは、例えばpasswdであるかどうかを確認する必要があります。

ssh [email protected][ssh_server] grep [username] /etc/passwd 

あなたは認証なしでユーザーを列挙することができるだろうならば、それは情報開示やセキュリティとして考えられています脅威。

+0

ありがとう、私はこれがうまくいくと思います。この方法を使用してセキュリティ上の脆弱性にさらされていますか?つまり、ユーザー名とパスワードを使用してsshサーバーにログインしようとすると、もう一方のユーザーが使用しようとした名前とパスワードを記録できますか? – Delyle

+0

いいえ。ログインできるアカウントが1つある場合は、セキュリティ上の問題なしにこの方法で他のアカウントを確認できます。 – Jakuje

関連する問題