質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

解決済

1回答

847閲覧

スクリプトの中で~/.ssh/configで指定したホストにscpする

ryosu-k

総合スコア11

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

0クリップ

投稿2020/07/06 06:02

編集2020/07/08 01:29

~/.ssh/configの中でホスト名「bastion」と接続情報を定義し、普段はssh bastionで接続しているサーバがあります。
bastionサーバはbastion2サーバを踏み台として接続しています。(Mac → bastion2 → bastion)
手元のMacに保管した秘密鍵id_rsaを使ってbastion2にssshし、目的のサーバbastionにはbastion2上に保管したaaa.pemを使ってsshしている状況です。

Host bastion HostName 172.1.3.3 User developer IdentityFile ~/.ssh/aaa.pem ProxyCommand ssh -CW %h:%p bastion2 2> /dev/null

このbastionサーバのログファイルを手元のMacにコピーしてするためのスクリプトを作成し、Mac上で実行したのですが、ssh: connect to host bastion port 22: Connection refusedというメッセージが出てうまく行きません。
スクリプトの中で書いたscp -r bastion:./log/logfile /Users/aaa/logfile/bastion/をMacのターミナルで直接実行するとscp可能です。

scp.sh

1#!/bin/bash 2scp -r bastion:./log/logfile /Users/aaa/logfile/bastion/

/etc/hostsの中には172.1.3.3 bastionを記述し、名前解決自体はできています。
スクリプトの中で~/.ssh/configの内容を参照することはできないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SHOMI

2020/07/06 06:19

ターミナルから scp -r bastion:./log/logfile /Users/aaa/logfile/bastion/ を直接打つとコピーできているのですか?
ryosu-k

2020/07/06 06:22

ご質問ありがとうございます。 はい、直接打つと「Enter passphrase for key '/Users/aaa/.ssh/id_rsa': 」という表示がされますが、パスフレーズを入力するとコピー可能です。
SHOMI

2020/07/06 06:32

>IdentityFile ~/.ssh/aaa.pem >Enter passphrase for key '/Users/aaa/.ssh/id_rsa': 使われているファイル違いませんか?
SHOMI

2020/07/06 06:38

スクリプトを実行しているユーザーはターミナルでscpの動作確認したユーザーと同じですか?
ryosu-k

2020/07/06 06:39

ご指摘ありがとうございます。 多段sshをしているのですが、id_rsaは手元のMacに保管し、目的のサーバbastionにはbastion2上に保管したaaa.pemを使ってsshしている状況です。
take88

2020/07/07 10:31

質問を読みましたが、よく分かりませんでした。 ・スクリプトとはどんなスクリプトですか ・多段SSHの環境について説明していただけますか ・コピーしたいのは、どこからどこへでしょうか この辺が分かれば回答できるかもしれません。
ryosu-k

2020/07/08 01:31

ご指摘ありがとうございます。3点の指摘に回答する形で本文を修正してみましたので、アドバイス頂けましたら幸いです。
take88

2020/07/08 07:35

修正ありがとうございます。使い方自体は問題ないように思えます。試しに スクリプトの scp に 「-v」をつけた場合どのように表示されますか?
ryosu-k

2020/07/09 00:48

Executing: program /usr/bin/ssh host bastion, user (unspecified), command scp -v -r -f ./log/logfile OpenSSH_8.1p1, LibreSSL 2.7.3 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 47: Applying options for * debug1: Connecting to bastion port 22. というログが表示されました。/etc/ssh/ssh_configは何も変更していないのですが、設定が必要でしょうか?
SHOMI

2020/07/09 01:41 編集

ログがそれだけだと、~/.ssh/configを読んでいませんね… 読んでいれば debug1: Reading configuration data /etc/ssh/ssh_config の前に debug1: Reading configuration data /User/ユーザー名/.ssh/config debug1: /Users/ユーザー名/.ssh/config line ?: Applying options for bastion が出るはずです。
SHOMI

2020/07/09 02:09 編集

前も聞きましたが、そのスクリプトを実行しているユーザーはターミナルでscpの動作確認したユーザーと同じですか? cronなどにより別ユーザーで実行されているということはないですか? パスフレーズがついているようなので、cronでの実行ではないと思いますが…
ryosu-k

2020/07/09 02:55

SHOMI様 ご指摘ありがとうございます。スクリプト(名前はlogcopy.shです)を実行するときに意識せずにsudoしておりました。 「sudo ./logcopy.sh 」で実行してこれまでの事象が出ていたのですが、「 ./logcopy.sh 」で実行したらscp出来ました。ありがとうございます!
guest

回答1

0

ベストアンサー

スクリプトを実行しているユーザーはターミナルでscpの動作確認したユーザーと同じですか?
~/.ssh/configはユーザーのホームディレクトリにあるため、他のユーザーで実行した場合は読まれません。


質問への追記・修正の依頼欄で解決してしまいましたが、同様の問題で検索される他の方のためにも回答欄に転記しておきます。

投稿2020/07/09 03:59

編集2020/07/09 04:07
SHOMI

総合スコア4079

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問