stdin が端末ではないため、疑似端末は割り当てられません。

stdin が端末ではないため、疑似端末は割り当てられません。

NCなしでサーバーを介して自動SSHホッピングを設定しようとしています。

これはコマンドラインから実行できます。

ssh -A gateway ssh steve@target

(SSHエージェントに公開鍵を追加しました。)

ただし、これを ~/.ssh/config に追加すると、次のことは行われません。

Host target
  User steveb
  ProxyCommand ssh -A gateway ssh steve@targetip

$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.


^CKilled by signal 2.

問題を強制的に解決しようとするのは-t面白いですが、役に立ちません。

ProxyCommand ssh -A -t gateway ssh steve@targetip

$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal.


^CKilled by signal 2.

もっと-t?悪い。

ProxyCommand ssh -A -t -t gateway ssh steve@targetip

$ ssh target
tcgetattr: Inappropriate ioctl for device


^CKilled by signal 2.

可能ですか?ほとんどのチュートリアル(例:http://www.arrfab.net/blog/?p=246)をお勧めしますnc

ベストアンサー1

netcatなしのSSHプロキシコマンド

ProxyCommandは、ホストに間接的にのみアクセスできる場合に便利です。 netcatの場合は比較的進歩的です。

ProxyCommand ssh {gw} netcat -w 1 {host} 22

ここで、{gw} と {host} はゲートウェイとホストのプレースホルダーです。

ただし、ゲートウェイにnetcatがインストールされていない場合でも可能です。

ProxyCommand ssh {gw} 'exec 3<>/dev/tcp/{host}/22; cat <&3 & cat >&3;kill $!'

/dev/tcpは標準bashに組み込まれている機能です。これらのファイルは存在しません。 Bashにこの機能が組み込まれていることを確認するには、次の手順を実行します。

cat < /dev/tcp/google.com/80 

...ゲートウェイで。

Bashを使用していることを確認するには、以下を使用してください。

ProxyCommand ssh {gw} "/bin/bash -c 'exec 3<>/dev/tcp/{host}/22; cat <&3 & cat >&3;kill $!'"

ControlMasterでも動作します。

(背景猫をクリーンアップするためにKillを含めるように10月22日に更新)

Roland Schulzに100%クレジットを提供します。ソースは次のとおりです。
http://www.rschulz.eu/2008/09/ssh-proxycommand-without-netcat.html
より有用な情報については、コメントをご覧ください。

詳細は次のとおりです。
http://www.linuxjournal.com/content/tech-tip-tcpip-access-using-bash
http://securityreliks.securegossip.com/2010/08/enabling-devtcp-on-backtrack-4r1ubuntu/

修正する:何か新しいと思います。表示

次の行を含む ~/.ssh/config の ProxyCommand を参照してください。

ProxyCommand ssh gateway nc localhost %p

マルコはこう言いました。

最新バージョンのOpenSSHを使用している場合は、netcatは必要ありません。 nc localhost %p を -W localhost:%p に置き換えることができます。

結果は次のとおりです。

ProxyCommand ssh gateway -W localhost:%p

おすすめ記事