前提・実現したいこと
expectコマンドを使って、sshのネストをしようとしております。
最終ゴールはサーバDにsshログインすること。
- サーバA→サーバB→サーバB→サーバD
とサーバを踏み台にして、sshログインを行おうとしています。
※社内ネットワークの特性上、サーバDにいくためには、上記の順にsshしていくしかない。
発生している問題・エラーメッセージ
サーバBへログインするところで
user1@サーバB's password:
とコンソールに出力されて止まってしまいます。
該当のソースコード
shell
1#!/bin/bash 2 3expect -c " 4################################ 5# サーバA 6################################ 7spawn ssh user1@サーバA 8expect \"password:\" 9send \"abcde\" 10 11################################ 12# サーバB 13################################ 14spawn ssh user1@サーバB 15expect \"password:\" 16send \"abced\" 17 18################################# 19# サーバC 20################################# 21spawn ssh user1@サーバC 22expect \"password:\" 23send \"abcde\" 24 25################################# 26# サーバD 27################################# 28spawn ssh user1@サーバD 29expect \"password:\" 30send \"abcde\" 31 32interact 33"
試したこと
spawn_idを取得して-iオプションに指定すればうまくいく記事をwebで見つけて試したが、
spawn_idを取得できず。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/31 01:07