私はSSHを使って次のように大学のコンピュータに接続します。
sudo ssh [email protected]
ただし、一度接続すると、次のようにwgetを使用してサーバーにファイルをダウンロードできません。
server_user@server:~$ wget http://example.com/somefile
これを行うと、次のエラーが発生します。
--2020-07-28 10:14:46-- https://example.com/somefile
Resolving example.com (example.com)... failed: Name or service not known.
wget: unable to resolve host address ‘example.com’
また、リモートサーバーから pip を使用してパッケージをインストールすることはできません。このようなことをどうすればよいですか?よろしくお願いします:)
PS:もちろん、住所はもう存在しませんexample.com
。例示目的で一時的に使用しています。これは実際のhttpアドレスであり、wgetを使用してそのアドレスからローカルにファイルをダウンロードできますが、サーバーでこれを実行すると上記のエラーが発生します。
答え1
知るために精密質問サーバーに関する詳細情報が必要です。しかし、実際にはDNSの問題に帰結します。
サーバー管理者に連絡してDNSに問題があると言い、失敗したA
記録AAAA
を解決してくださいexample.com
。
一時的な解決策:example.com
サーバーのIPに置き換えます。
(コンピュータで実行するとping example.com
IPが表示されます)
編集する:Pythonモジュールのインストールに問題があると述べましたpip
。同じ理由で、pipはホスト名だけを知り、IPは知らないサイトからダウンロードしようとします。
編集2:解決策が失敗した理由を理解するために、自分でいくつかの調査を行うことができますが、ここでは注意が必要です。
一部の管理者はユーザーが助けを提供するのが好きですが、他の管理者はユーザーがスヌーピングを開始したときに本当に迷惑になることがあります。
疑わしいときはしないでください。
とにかく、詳細情報を提供するいくつかのコマンドは次のとおりです。
dig -t A example.com @8.8.8.8 | grep -v '^;' | grep A
(example.comのIPを表示する必要があります)dig -t A example.com | grep -v '^;' | grep A
(同じ表示が必要)resolvectl status | grep Server
(該当する大学のDNSサーバーを表示する必要があります)systemctl status systemd-resolved
(有効にする必要があります)journalctl -u systemd-resolve
(エラーがあってはならない)
答え2
サーバーにDNS解決機能がありません。意図的にインターネットにアクセスしないことがあります。しかしscp
、。