SSHでのファイルDL不可能

Linux

サーバの環境構築時に、既存の設定ファイルを編集することが多々あります。ファイルの編集時は、一度ローカル環境にダウンロードして差し替えることが少なくありません。

しかし、一部の設定ファイルは、そのままだとサーバ上からダウンロードできないことがあります。この記事では、ダウンロードできないファイルの原因と対応方法について解説していきます。

ダウンロードできない原因

原因は、パーミッションで権限が付与されていないことが原因です。例えば、一般ユーザの場合、下記の設定ファイルをダウンロードしようとするとエラーが発生します。

[root@koj-VirtualBox 08:21:18 ~]# ls -la /etc/ssh/sshd_config
-rw-------. 1 root root 3674 3月 27 09:00 /etc/ssh/sshd_config

原因としては、ダウンロードの際はログインした際のユーザのパーミッションが適用されてしまうことです。今回の場合、所有者のみ読取りと書込み権限が付いています。そのため、rootでログインしない限り、そのままDLは不可能です。

しかし、多くのケースでrootでは直接ログインしないでしょう。多くのケースで、一般ユーザでログイン後にrootにスイッチして、サーバ操作を行います。

今回のケースは一般ユーザでログインしている関係上、権限が何も付与されていないことでダウンロードが行えない状態になっています。

対応方法

設定ファイルのパーミッションを変更することで、ダウンロードが行えます。パーミッションを変更する際は「chmod」のコマンドで行えます。

chmod 777 /etc/ssh/sshd_config

しかし、オリジナルのファイルのパーミッションを直接変更することはおすすめしません。バックアップを取った後に、バックアップファイルのパーミッションを変更してダウンロードすることをおすすめします。

今回の場合、ダウンロードを行うまでの一連の手順は下記のとおりです。

# コピー先の/tmp配下に同じ名前のファイルが無いかを確認
ls -la /etc/ssh/sshd_config /tmp/sshd_config

#バックアップファイルの取得
cp -p /etc/ssh/sshd_config /tmp/sshd_config

# コピーできているか確認
ls -la /etc/ssh/sshd_config /tmp/sshd_config

#権限の変更
chmod 777 /tmp/sshd_config

#権限変更が行えているかを確認
ls -la /tmp/sshd_config

コメント

タイトルとURLをコピーしました