トップ «前の日記(2008-03-17) 最新 次の日記(2008-03-21)» 編集

ORCA愉快日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|10|11|12|
2012|01|02|09|
2013|04|

2008-03-18 scpでSending commandのまま固まる件の解決

_ [Linux] scpでSending commandのまま固まる件の解決

FreeBSDのサーバからscpしようとして、鍵認証まで通っているのに、scpでのファイル転送に失敗するので調査した際のメモ。

□ 現象
ssh鯖に鍵認証でログインできるものの、scpしようとすると認証を経てもいつまでたっても
転送される様子がなく、固まったままの様子になる。
  
  
□ 原因究明
まずは、scpコマンドに-vオプションを付けて詳細モードで実行。
$ scp -v user@111.222.333.444:~/hoge.txt .
        :
debug1: Sending command: scp -v -f /home/user/hoge.txt
  
上記のように出力されて、鍵パスワードを入力しても
いつまでたっても転送されてこない。接続できて認証は通っているのに。
接続はできており、認証は通っているので、ftpなどと違ってiptablesなどの
フィルタリングや、ルータなどが原因の可能性も低い。
  
ということで、sshのバージョン違いを疑って、sshのバージョンの
新しい別のLinux環境で試してみましたが、同じくうまくいかず。
ということで、手元では複数の環境で試してうまくいかないので
接続先のFreeBSDな鯖環境での可能性が高い。
  
  
□ 解決法
sshで関係ありそうな隠しファイルやフォルダ等をrenameして無効に
した上で、確認するとどうやら.tcshrcなどの設定ファイルの中で
シェルを起動していたのがまずいことが分かった。
  
元々、FreeBSD環境はtcshがデフォルトだったので起動後にbashに変えるべく
横着して.tcshrcに「exec bash」と書いていたのがそもそもの誤り。
  
デフォルトシェルtcsh→設定ファイル.tcshrc→bashの起動→.bashrc
を行っていたのだ。
  
ということで、デフォルトシェルの変更を行う。
$ chsh
を実行して、デフォルトシェル Shell:の項目をFreeBSD環境でのbashのフルパス
「Shell: /usr/local/bin/bash」に変更した。
  
また、.bash_profileを作成し、「. ~/.bashrc」を追加して.bashrcを読み込ませる
ように設定しておいた。.bashrcには元々いくつかの設定を追加してある。
  
デフォルトシェルbash→.bash_profile→.bashrc
  
参考
akiyan.com - scpが出来なくて超ハマったメモ(原因は.bashrc)
http://www.akiyan.com/blog/archives/2008/02/scpbashrc.html

トップ «前の日記(2008-03-17) 最新 次の日記(2008-03-21)» 編集