#author("2019-03-19T17:41:39+09:00","","")
#author("2019-03-19T17:42:48+09:00","","")
#navi(../)
* Cygwinでsshコマンド実行時、Pseudo-terminal will not be allocated because stdin is not a terminal.と表示された時の対処 [#s89e1c96]
Windows10で以下のメッセージが表示された場合、本資料が役に立つかもしれません。
 $ ssh sakura@192.168.1.32
 Pseudo-terminal will not be allocated because stdin is not a terminal.

#htmlinsertpcsp(win-top.html,win-sp.html)
#contents

* 原因と対策 [#dcbbcba6]
以下、いくつかの原因と対策を記します。

** Cygwinのopensshパッケージはインストールされていますか? [#ke6243e2]
Windows10のオプション機能である OpenSSH クライアント がインストールされたため、MicrosoftがWindows10向けに提供しているsshコマンドが起動されたのが原因と考えられます。
#ref(01.png)
#br
Cygwinのopensshパッケージをインストールし、再度ターミナルを起動すれば正常に動作すると思います。
#ref(02.png)
#br
ちなみにコマンドプロンプトを起動し、以下のコマンドを実行すると、Microsoft提供のsshコマンドが存在しているのが確認できます。
 where ssh
#ref(03.png)

** Cygwinのsshコマンドはインストール済みだけど… [#uce5988d]
この場合は、$PATHの順序に問題があるのかもしれません。
Cygwinターミナルで以下のようになれば、Microsoftが提供しているsshであることが確認できます。
 $ which ssh
 /cygdrive/c/Windows/System32/OpenSSH/ssh
デフォルトでCygwinをインストールすれば、以下のような$PATHとなっていました。
 $ echo $PATH
 /usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Windows/System32/OpenSSH:/cygdrive/c/Users/sakura/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users/sakrua/AppData/Local/Programs/Microsoft VS Code/bin
 Cygwinのsshコマンドは、以下のように /usr/bin に存在しています。~
 PATH環境変数を修正して対応してみてください。
 $ which ssh
 /usr/bin/ssh
または、aliasコマンドを使って、以下のようにするのも良いかもしれません。
 alias ssh='/usr/bin/ssh'

以上、Cygwinで''Pseudo-terminal will not be allocated because stdin is not a terminal.''が表示され動作しないときの対処方法でした。

#htmlinsertpcsp(win-btm.html,win-sp.html)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS