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

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

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

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

sh

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

Q&A

解決済

2回答

3942閲覧

ssh経由でコマンド実行するとhistoryでコマンド履歴が確認できない

Marcocco

総合スコア26

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

sh

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

0グッド

0クリップ

投稿2020/12/15 02:53

普通にログインしてコマンドを実行してhistoryを確認すると履歴で参照できるのですが
下記のようにssh経由でコマンド実行するとコマンドが保存されないようでhistoryで確認できません。
ssh server1 "whoami"

これはなぜなのでしょうか?
また、保存するにはどうすればよいのでしょうか?

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

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

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

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

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

guest

回答2

0

シェルのヒストリーは対話モードかつ端末から入力されたコマンドラインのみを記録します。よってシェルに端末を割り当てるかつ対話モードで起動するかつ端末経由でコマンドラインを渡してやる必要があります。

console

1$ echo whoami |ssh -t server1 bash -i

sshd はコマンドラインとして渡された引数をユーザーのログインシェルの -c オプションの値として渡して実行します。sshd が直接実行するわけではなく、必ずログインシェルが介されます。つまり ssh server1 bash -c whoami なら server1 上の sshd<ログインシェル> -c 'bash -c whoami' 相当のコマンドラインを起動します。

投稿2020/12/16 03:41

fumiyas

総合スコア8

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

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

Marcocco

2020/12/16 07:58

では、こちらの環境は echo $SHELL /bin/bash なので、ログインシェルはbashということになり sh server1 "whoami" とすると bash -c 'whoami' 相当のコマンドラインが実行されるが、しかし、対話モードかつ端末から入力されたものではないのでhistoryに保存されないということですね。 保存してくれればいいのですが残念です。。。
guest

0

ベストアンサー

history への保存は bash が行います。

ssh server1 "whoami

の場合、server1 の sshd が whoami を実行して終了しますので、history への保存が行われません。
保存する場合はリモートサーバの bash を経由して whoami を実行する必要があります。

例えば

ssh server1 "/bin/bash -c whoami

としてみてはいかがでしょうか?

投稿2020/12/15 05:46

youji

総合スコア257

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

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

Marcocco

2020/12/15 06:45

なるほど!そういうことですね! 理解できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問