解決策 1:
<ブロック引用>Windows マシンの NetBIOS 名は別のものです
それはあなたの問題だ。これは、Windows マシンのレジストリ ハックによって簡単に修正されます。詳細については、http://support.microsoft.com/kb/281308 を参照してください。
更新
上にリンクされた元のサポート記事は消えました (Microsoft に感謝します)。新しい記事は、SMB ファイル サーバー共有アクセスが DNS CNAME エイリアスを介して失敗することです。
Joil はまた、1 つのサーバーが複数の NetBIOS 名を持つことができることも指摘しています。これは、レジストリ キーを編集することによって行います:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\OptionalNames
余分な名前を追加します。
解決策 2:
Windows マシンは、自分自身が接続先として識別されることを認識していないため、おそらくこのエラーが発生しています。 (この問題は接続プロセスの後半まで発生しないため、間違った認証情報を使用するとエラーが変化します。)
windows-machine
ではなく、IP 番号で接続してみてください .それが機能する場合は、名前が起こっていることを確認し、PDC にそれ自体が windows-machine
であることを認識させることで解決できます。 または単に IP 番号を使用してください。
解決策 3:
「-m」フラグを使用して、使用するプロトコルの最大バージョンを指定する必要があります。デフォルトでは「NT1」です。smbclient のマニュアル ページから:
-m|--max-protocol protocol
This allows the user to select the highest SMB protocol level that
smbclient will use to connect to the server. By default this is set
to NT1, which is the highest available SMB1 protocol. To connect
using SMB2 or SMB3 protocol, use the strings SMB2 or SMB3
respectively. Note that to connect to a Windows 2012 server with
encrypted transport selecting a max-protocol of SMB3 is required.
SMB2 や next とは異なり、「NT1」バージョンは netbios に依存していると思われます。
したがって、「-m SMB3」または「-m SMB2」を使用して再試行すると、パフォーマンスも大幅に向上します。
解決策 4:
-I オプションを使用して IP アドレスを指定できます。
smbclient -U username -W workgroup -L //windows-machine -I <machine-ipaddr>