0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ubuntuサーバーにscpでファイルを転送出来ない時の対処法

Posted at

WSL(ubuntu22.04) からubuntu22.04にscpでファイル転送できない?

scp -r -vvv  source_dir/ user@ip_adress:/distination_dir

上記を実行しても debug1: Exit status -1で終了してしまう。

対処法: サーバーの.bashrcを編集する

自分の場合、IntelOneAPI用の環境設定のためのshell scriptをで実行するよう、下記のようなコマンドがサーバー側の.bashrcに書き込まれている

source /opt/intel/oneapi/setvars.sh

コメントアウトを外すところ

下記のcase ~~~~ esacのコメントアウトを外しらうまくいくようになった。

# If not running interactively, don't do anything
# case $- in
#     *i*) ;;
#       *) return;;
# esac

上記を有効化することで、シェルが対話型モード(interactive)で実行されていない場合(scpやrsyncコマンドはコレ)、何も実行しないようできるらしい。

このようにしなければいけない理由は、ChatGPT4さんによると、下記のような感じらしいです:

サーバーの .bashrc ファイルを確認すると、最後の部分に source /opt/intel/oneapi/setvars.sh という行があります。これは Intel OneAPI の環境変数を設定するためのスクリプトを実行しています。これがSSHセッションやrsyncセッションの際に実行されると、予期しない出力が発生し、非インタラクティブセッションの実行に影響を与える可能性があります。

参考にしたサイトにもbashrc に echo コマンドがあると scp の挙動がおかしくなるとあります。

感想

linux初心者な自分にとっては「はぇ~」という感じでした。
勉強になりました。

参考にしたサイト

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?