OS X Lionでのsshdの構成


5

ホームネットワーク上のルーターの背後にあるワークステーションで(基本的な)sshセキュリティを設定しようとしています。Mac OS X Lion(10.7)を実行しています。

私が理解しているように、そのような状況で通常行うことは、/etc/sshd_configファイルの適切な部分を変更することです。たとえば、私は持っているかもしれません

# akil@computerA:/etc/sshd_config
Port 12345
Protocol 2
PermitRootLogin no
PasswordAuthentication no

そして、これはそれぞれ、ポート12345でのみリッスンし、認証方法「2」のみを受け入れ、ルートログインを許可せず、キーログインのみを許可します。その後、sshデーモンを再起動すると、すべてが素晴らしいものになります。

どうやらこれはSnow Leopard(OS X 10.6)で機能したようですが、Lionでは機能していないようです。Lionはsshd_configファイル内のすべてを無視しているようです。

ポートを変更するには、いくつかのブログやフォーラムの投稿(1,2)のアドバイスに従い、/System/Library/LaunchDaemons/ssh.plist(a)編集して新しいsshサービスを追加し、(b)で新しいサービスのポートを定義します/etc/services

これssh akil@computerA.localssh akil@computerA.local -p 12345機能します。接続は拒否されますが、現在は正常に機能します。

問題は、他の何かを変更するために同様の手順を使用する方法がわからないということです。ルートログインやパスワード認証を無効にするにはどうすればよいですか。

1:Lionでのsshdポートの変更

2:OS X 10.4でのsshdポートの変更

回答:


4

sshdは、接続が入ったときにまだ実行されていないため、sshd_configで変更してsshdがリッスンするポートを変更することはできません。接続が到着すると、sshdはすぐに起動されます。そのため、適切な起動アイテムのポートを変更するか、別のポートを作成して、着信ssh接続をリッスンする2番目のポートを作成する必要があります。

正しいファイルを見つけることができます /System/Library/LaunchDaemons/ssh.plist

それをコピーして/Library/LaunchDaemons/ssh-alternative.plist、次の部分を変更します。

            <key>Listeners</key>
            <dict>
                    <key>SockServiceName</key>
                    <string>ssh-alt</string>
            </dict>

SockServiceNameがsshからssh-altに変更されていることに注意してください。動作させるには、ssh-altという名前のサービスを次のように追加する必要があり/etc/services ます(例に合わせて)この行を追加します:

ssh-alt 12345 / tcp#ssh-alt

次に、新しいssh-alternative configをロードできます sudo launchctl load -w /Library/LaunchDaemons/ssh-alt.plist

実行しipfwている場合は、新しいポートへのtcp接続を許可してください。Sharing.PrefPanelでは、sshdをリッスンする標準ポート22のみを有効にすることができます(sshを変更しない限り、sshを変更する/etc/servicesことお勧めしません)。

さらに、起動したアイテムから対応する部分を削除することにより、このサービスがBonjourによってアドバタイズされるのを防ぐことができます。

        <key>Bonjour</key>
        <array>
            <string>ssh</string>
            <string>sftp-ssh</string>
        </array>

これが既に実行されていた場合は、アイテムを再度アンロードしてロードする必要があります。


ここでのOP ...残念ながら、最初に投稿したときにアカウントを作成しなかったため、ここで一般的にコメントしたり、解決済みとしてマークしたりする評判はまだありません。この時点では、ルーターにはポートマッピング機能がないため、上記のハードな方法でポートをマッピングする必要があります。
アキルN.

1
良い情報。sshdは「常に実行されている」といつも思っていましたが、最近では間違いなくそうではありません。これはLionにとって新しいものですか?もしそうなら、「そのような」ものをどこで見つけますか?Appleは、これらの日の技術的な詳細をとてもケチ..です
アレックス・グレー

@alexgrayこれはlauchdの結果です-すべてを開始する必要があるのではなく、sshdがいつ開始する必要があるかを知る方法を伝え、常にではなくジャストインタイムでデーモンを開始します。モード起動の技術的な詳細については、開発者のページをご覧ください。developer.apple.com/library/mac/#documentation/MacOSX/...
bmike

1

ポートに関しては、OS Xよりもルーターで簡単に再マップできることが常にわかっています。それは常に可能ではありませんが、ルーターがサポートしている場合は簡単です。

認証に関しては、sshdは設定ファイルを読み込んでおり、使用されているメカニズムは2種類以上です。あなたの場合、PasswordAuthenticationの設定に加えて、ChallengeResponseAuthenticationを「no」に設定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.