質問編集履歴

4

質問内容修正

2021/01/06 04:58

投稿

ji-desuji
ji-desuji

スコア11

test CHANGED
@@ -1 +1 @@
1
- paramikoによるSSH接続でのwarning、exceptionについて
1
+ paramikoによるSSH接続でのOS Errorについて
test CHANGED
@@ -2,11 +2,17 @@
2
2
 
3
3
 
4
4
 
5
- paramikoを使って、SSH接続をしようとしていますが、下記のwarning、exceptionが出てしまいます。
5
+ paramikoを使って、SSH接続をしようとしていますが、下記のOSError: Socket is closedが出てしまいます。
6
6
 
7
- に、stdin.write('xxxx')でコマンドを送ろうとすると、socket is closedのexceptionが出て、実行が止まってしまいます。
7
+ ただ、そに、下記のexceptionが出ているので
8
8
 
9
+
10
+
9
- なので、このwarningとexceptionを解消すば良いと考えてい
11
+ ■Socket exception: 既存の接続はリモート ホストに強制的に切断されました (10054)
12
+
13
+
14
+
15
+ これが原因かと思っています。
10
16
 
11
17
  解消方法を教えて頂けると助かります。
12
18
 
@@ -18,11 +24,43 @@
18
24
 
19
25
  ```
20
26
 
21
- 835: UserWarning: Unknown ecdsa-sha2-nistp521 host key for 192.168.**.***: b'******************************'
27
+ Socket exception: 既存の接続はリモート ホストに強制的に切断されました。 (10054)
22
28
 
23
- warnings.warn(
29
+ Traceback (most recent call last):
24
30
 
31
+ File "c:/Users/Desktop/macro/main.py", line 56, in <module>
32
+
33
+ stdin.write('int ethernet 1/1')
34
+
35
+ File "C:\Users\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\file.py", line 405, in write
36
+
37
+ self._write_all(data)
38
+
39
+ File "C:\Users\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\file.py", line 522, in _write_all
40
+
41
+ count = self._write(data)
42
+
43
+ File "C:\Users\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\channel.py", line 1364, in _write
44
+
45
+ self.channel.sendall(data)
46
+
47
+ File "C:\Users\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\channel.py", line 846, in sendall
48
+
49
+ sent = self.send(s)
50
+
51
+ File "C:\Users\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\channel.py", line 801, in send
52
+
53
+ return self._send(s, m)
54
+
55
+ File "C:\Users\AppData\Local\Programs\Python\Python38\lib\site-packages\paramiko\channel.py", line 1198, in _send
56
+
25
- Socket exception: 既存の接続はリモート ホストに強制的に切断されました。 (10054)
57
+ raise socket.error("Socket is closed")
58
+
59
+ OSError: Socket is closed
60
+
61
+
62
+
63
+
26
64
 
27
65
  ```
28
66
 
@@ -38,11 +76,29 @@
38
76
 
39
77
  client.set_missing_host_key_policy(paramiko.WarningPolicy())
40
78
 
79
+ client.load_host_keys(os.path.join(os.path.dirname(__file__), 'known_hosts'))
80
+
41
81
  client.connect(IP_address, username=ID, password=Password, timeout=3.0)
42
82
 
43
83
 
44
84
 
45
85
  stdin, stdout, stderr = client.exec_command('dir')
86
+
87
+ stdin.write('cd test\n')
88
+
89
+ stdin.flush()
90
+
91
+
92
+
93
+ for out in stdout:
94
+
95
+ print('[std]', out, end='')
96
+
97
+ for err in stderr:
98
+
99
+ print('[err]', err, end='')
100
+
101
+
46
102
 
47
103
  ```
48
104
 
@@ -52,13 +108,7 @@
52
108
 
53
109
 
54
110
 
55
- ■known_hostsに追加して実行してみましたが、同じwarning、exceptionが出ました。
56
-
57
- client.load_host_keys(os.path.join(os.path.dirname(__file__), 'known_hosts'))
58
-
59
-
60
-
61
- ■その他、色々なサイトを見てみましたが、く分からず・・・
111
+ ■その他、色々なサイトを見てみましたが、まったく分からず・・・
62
112
 
63
113
 
64
114
 

3

IP address修正

2021/01/06 04:58

投稿

ji-desuji
ji-desuji

スコア11

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ```
20
20
 
21
- 835: UserWarning: Unknown ecdsa-sha2-nistp521 host key for 192.168.90.254: b'******************************'
21
+ 835: UserWarning: Unknown ecdsa-sha2-nistp521 host key for 192.168.**.***: b'******************************'
22
22
 
23
23
  warnings.warn(
24
24
 

2

誤記修正

2021/01/06 04:47

投稿

ji-desuji
ji-desuji

スコア11

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  paramikoを使って、SSH接続をしようとしていますが、下記のwarning、exceptionが出てしまいます。
6
6
 
7
- この後に、stdin.write('xxxx')でコマンドを送ろうとすると、socket is closedのexceptionが出て、実行が止まっています。
7
+ この後に、stdin.write('xxxx')でコマンドを送ろうとすると、socket is closedのexceptionが出て、実行が止まってしまいます。
8
8
 
9
9
  なので、このwarningとexceptionを解消すれば良いと考えています。
10
10
 

1

コードの誤記修正

2021/01/06 04:36

投稿

ji-desuji
ji-desuji

スコア11

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  client.set_missing_host_key_policy(paramiko.WarningPolicy())
40
40
 
41
- client.connect(Raritan_IP_address, username=Raritan_ID, password=Raritan_Password, timeout=3.0)
41
+ client.connect(IP_address, username=ID, password=Password, timeout=3.0)
42
42
 
43
43
 
44
44