現在の構成では、Windowsにプリンタをインストールできますが、ウィザードは資格情報の入力を求められず、印刷できません。しかし、URLに資格情報を提供する(http://some_user:password@serverip:port/printers/myprinter
)、Windowsは常にローカルアカウント名を使用し、基本認証を試みていないようです(リンクされた投稿で説明されています)。
Denying user "local_windows_user" access to printer "myprinter"...
Print-Job client-error-not-authorized: Not allowed to print.
[Client x] Returning IPP client-error-not-authorized for Print-Job
Windowsクライアントがパスワードの入力を強制的に表示しないように、構成に欠落しているものはありますか? Windowsでポートを設定して資格情報を指定しても、結果は変わりません。回避策として、認証のためにCUPSにURLのみを表示させることはできますか?
現在許可されている場所で基本認証を試してみましたが、これによりメッセージが表示されず、インストールが失敗します。
some_userがWebインターフェースを介してmyprinterを使用して印刷できるようにします。資格情報の入力を求められたら、接続はhttpsにアップグレードされます。テストDefaultEncryption Never
結果は変わらなかった。
cupd.conf
Listen localhost:631
Listen serverip:port
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
<Location />
Order allow,deny
</Location>
# Restrict access to the admin pages...
<Location /admin>
AuthType Default
Order allow,deny
Require user @SYSTEM
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Set the default printer/job policies...
<Policy default>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Get-Printer-Attributes>
#AuthType Default
Order allow, deny
</Limit>
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny, allow
AuthType Basic
</Limit>
[ommitted]
バージョン
Server: Fedora 37 Server
Cups Version: cups-2.4.2-5.fc37
Windows Version: Windows 10 Pro 21H2 (tested, not working), Windows 10 Pro 22H2 (tested, not working)
ノート
在庫 Linux Mint 21.1 Live でテスト済み。すべてのプリンタは印刷時に自動的にパスワードを検出し、プロンプトを表示します。サーバーでは、ユーザーはとしてログインしますsome_user
。
基本認証が必要な場合Get-Printer-Attributes
Windowsでは、「接続できません..プリンタ名などを確認してください...」という一般的なエラーが表示されます。
カップログ:
POST /printers/myprinter HTTP/1.1
cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
[Client 6] Read: status=200, state=6
[Client 6] No authentication data provided.
[Client 6] 2.0 Get-Printer-Attributes 6
Get-Printer-Attributes ipp://some_user:password@serverip:port/printers/myprinter
cupsdIsAuthorized: username=""
[Client 6] Returning HTTP not authorized for Get-Printer-Attributes (ipp://some_user:password@serverip:port/printers/myprinter
[Client 6] cupsdSendHeader: code=426, type="text/html", auth_type=1
[Client 6] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
[Client 6] Closing connection.
cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
ブラウザからURLにアクセスすると、「ユーザー名でログインしようとしていますが、このページには認証は必要ありません」という警告が表示されます。続行すると、約1秒後にリロードされるリダイレクトページに移動し、資格情報を入力するように求められます。おそらく、基本認証プロンプトの前のhtml応答がWindowsの競合の原因である可能性があります。
基本認証を使用して通常のWebサーバーにURLを追加する場合
この場合、Windows(およびブラウザ)はすぐにパスワードの入力を求められます。
答え1
http接続の問題が修正されました。 httpsは不明です。自己署名証明書とIPアドレスの組み合わせによって問題が発生すると思います。信頼できるルート証明書に追加することは可能かもしれませんが、Windowsはそれに満足していないようです。信じられれば文書(おそらく時代遅れかもしれません)それはまだInternet Explorerに頼っています。だからここで開いているのにエラーがなければ、プリンタも接続されているはずです。
デフォルトでは、およびRequire [user or group]
を使用すると、AuthType Basic
CUPSは資格情報を求めるメッセージをただちに表示しますが、CUPSは接続をhttpsにアップグレードしようとするため、それだけでは不十分です(メッセージを表示するのではなくhtmlページを返します)。
一般セクションを追加すると、DefaultEncryption IfRequested
この動作が防止され、Windowsはプロンプトを選択します。