質問するログイン新規登録

質問編集履歴

2

タイトルの修正、前提・実現したいことの文章修正、ソースの実行例の追加、試したことに/etc/ssh/sshd_confの確認結果を追加

2016/07/27 07:05

投稿

ester41
ester41

スコア148

title CHANGED
@@ -1,1 +1,1 @@
1
- SSH接続後のPTY生成でエラーが発生する
1
+ PerlでSSH接続するとエラーが発生する
body CHANGED
@@ -1,11 +1,11 @@
1
1
  ###前提・実現したいこと
2
- Mojoliciousで開発しているWebアプリ上で、Net::OpenSSHを使用して別のサーバーへ接続しようとしています。
2
+ Mojoliciousで開発しているWebアプリから、Net::OpenSSH別のサーバーへ接続した後、
3
- Net::OpenSSHは対話式コマンドとの相性が悪い為、Net::Telnetに処理を委譲させようと、[CPAN](http://search.cpan.org/~salva/Net-OpenSSH-0.73/lib/Net/OpenSSH.pm#Net::Telnet)を参考にコードを作成しました。
4
- 開発環境(仮想サーバー)では、エラーなくNet::Telnetで処理を行うが出来またが、
3
+ Net::Telnetで処理を行うとしています。
4
+
5
+ 開発環境では問題は発生しませんでしたが、
5
- 本番環境(実サーバー)では、処理を委譲したところで環境変数TERMが設定されていないとのエラーが発生します。
6
+ 本番環境では環境変数TERMが設定されていないとのエラーが発生します。
6
7
  本番環境にTeraTermで接続し、下記コードを手動実行すると、エラーなく実行されました。
7
8
 
8
- 何が原因で本エラーが発生しているのかわからず、また本番環境のみで発生している為、現状下記の情報のみとなります。
9
9
  少ない情報ですが、原因と解決方法がわかる方、よろしくお願いします。
10
10
 
11
11
  ###発生している問題・エラーメッセージ
@@ -79,6 +79,71 @@
79
79
  print "\n#################### 処理終了 ####################\n";
80
80
  ```
81
81
 
82
+ 実行例
83
+ ```bash
84
+ #################### 処理開始 ####################
85
+ TERM: dumb
86
+
87
+ ENV: SHELL=/bin/bash
88
+ SSH_CLIENT=127.0.0.1 42171 22
89
+ USER=HOGE
90
+ LS_COLORS=
91
+ MAIL=/var/mail/HOGE
92
+ PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
93
+ PWD=/HOGE
94
+ LANG=ja_JP.UTF-8
95
+ SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
96
+ SHLVL=1
97
+ HOME=/HOGE
98
+ LOGNAME=HOGE
99
+ CVS_RSH=ssh
100
+ SSH_CONNECTION=127.0.0.1 42171 127.0.0.1 22
101
+ LESSOPEN=|/usr/bin/lesspipe.sh %s
102
+ G_BROKEN_FILENAMES=1
103
+ _=/bin/env
104
+
105
+ Last login: Wed Jul 27 15:48:09 2016 from HOGE
106
+ [HOGE@DUMMYHOST ~]$ pstree -ah
107
+ init
108
+ +-acpid
109
+ ~ 中略 ~
110
+ +-sshd
111
+ | +-sshd
112
+ | | `-sshd
113
+ | | `-bash
114
+ | | `-perl
115
+ | | +-ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=2 -2MNx -o NumberOfPasswordPrompts=1 -o...
116
+ | | `-ssh -qtt -S /HOGE/.libnet-openssh-perl/HOGE-127.0.0.1-3408-813586 -l HOGE 127.0.0.1 --
117
+ | `-sshd
118
+ | `-sshd
119
+ | `-bash
120
+ | `-pstree -ah
121
+ ~ 中略 ~
122
+
123
+ [HOGE@DUMMYHOST ~]$
124
+ [HOGE@DUMMYHOST ~]$ ps aux
125
+ USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
126
+ root 1 0.0 0.0 2160 632 ? Ss Jul20 0:00 init [5]
127
+ ~ 中略 ~
128
+ root 3266 0.0 0.0 10060 2852 ? Ss 15:48 0:00 sshd: HOGE [priv
129
+ HOGE 3268 0.1 0.0 10212 1620 ? S 15:48 0:00 sshd: HOGE@pts/0
130
+ HOGE 3269 0.0 0.0 5708 1480 pts/0 Ss 15:48 0:00 -bash
131
+ HOGE 3408 2.2 0.1 11772 7072 pts/0 S+ 15:48 0:00 perl
132
+ HOGE 3411 0.0 0.0 7048 2424 pts/1 Ss+ 15:48 0:00 ssh -o StrictHo
133
+ root 3412 0.0 0.0 10036 2804 ? Ss 15:48 0:00 sshd: HOGE [priv
134
+ HOGE 3414 0.0 0.0 10192 1656 ? S 15:48 0:00 sshd: HOGE@pts/3
135
+ root 3455 0.0 0.0 0 0 ? S Jul20 0:01 [pdflush]
136
+ HOGE 3465 0.0 0.0 6916 2028 pts/2 Ss+ 15:48 0:00 ssh -qtt -S /HO
137
+ HOGE 3466 0.0 0.0 5708 1480 pts/3 Ss 15:48 0:00 -bash
138
+ HOGE 3495 0.0 0.0 5292 940 pts/3 R+ 15:48 0:00 ps aux
139
+ HOGE 7317 0.0 0.2 49828 12324 ? S Jul20 0:00 /usr/libexec/no
140
+ ~ 中略 ~
141
+
142
+ [HOGE@DUMMYHOST ~]$
143
+ [HOGE@DUMMYHOST ~]$
144
+ #################### 処理終了 ####################
145
+ ```
146
+
82
147
  ###試したこと
83
148
  - TERMの確認
84
149
  > 手動でもApacheからもdumbとなっていた
@@ -96,6 +161,9 @@
96
161
  - tcpdumpでパケットの確認
97
162
  > パケットが暗号化されているため解析できず
98
163
 
164
+ - 接続先の/etc/ssh/sshd_confを確認
165
+ > デフォルトコンフィグのと差異無し
166
+
99
167
  ###補足情報(言語/FW/ツール等のバージョンなど)
100
168
  - Perl,CPANモジュールのバージョン
101
169
  > Perlインストーラー: perlbrew

1

タグにLinuxが抜けていた為、追加

2016/07/27 07:05

投稿

ester41
ester41

スコア148

title CHANGED
File without changes
body CHANGED
File without changes