ログイン時にSOCKSプロキシのSSH -Dトンネルを自動起動するにはどうすればよいですか?


9

SSHトンネルを開始する場合、

ssh -d 9000 user@userserver

これは、ホスト「userserver」上の「user」という名前のユーザーのポート9000で開かれる動的トンネルの1つのソリューションです。

しかし、ログインしてトンネルを開始するたびに端末を開く必要がないように、Ubuntuでこのプロセスを自動化するにはどうすればよいですか?ログインした瞬間にSSHで認証されたい。

bashファイルを作成できることはわかっていますが、最初のコマンドの後にプロンプ​​トが表示されるため、サーバーユーザーのパスワードをプレーンテキストで保存する必要はありませんか?


3
あなたの代わりにパスワードを使用してのセットアップのssh-キーは、(見ることができますpkeck.myweb.uga.edu/sshを)が、あなたのセットアップはログインのを自動化する場合は...セキュリティを損なうことになるでどんなに
LassePoulsen

あなたの質問については正確ではありませんがsshuttle、SSH経由でインターネットをルーティングするためにを使用することをお勧めします。パスワードなしのログインの問題は解決しません。
Oxwivi

私が答えたようにパスワードなしのSSHを設定した場合、sshuttle自動起動することもできます(注、sshuttle実行するには管理者権限が必要です)。
Oxwivi

回答:


9
  1. この回答に従って、パスワードなしのSSHログインを設定します。

    • ssh-keygen (パスワードの入力を求められます。空白のままにしてください)

    • ssh-copy-id user@userserver (SSHログインパスワードを最後に入力してください)

  2. SSHの起動エントリを追加します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


@Stefano、ありがとう!クレジットの半分は、そもそもパスワードなしのSSHについて私に教えてくれたRinzwindとMarcoに支払われます。
Oxwivi

1

Source Labが示唆するように、ssh-keyセットアップを使用するのはどうでしょうか。ただし、パスフレーズを使用してキーをセットアップし、ssh-agentがマシンで実行されていることを確認してください。ログインセッションごとに1回だけ入力する必要があります。

その方法でそれを行ういくつかの利点があります:-sshコマンドを発行するときはいつでも(最初のブート/ログインを除いて)自動化されたパスワードなしのログインを取得できます-キーにパスフレーズがあるため安全です-pub / privateキーの使用は非常に標準であり、ほとんどのSSHサーバーのインストールでサポートされます

SSHキー認証を設定するには:

ssh-agent / keychainを使用するには(ログインセッション全体でパスフレーズをキャッシュするには):

起動時にトンネルの作成を自動化する限り、1つのアイデアは、トンネルを開始する簡単なシェルスクリプトを作成することです。

~$ sudo cat <<EOF >> /usr/local/bin/start_tunnel.sh
ssh-add # ensure key is added to agent
ssh -D 9000 user@userserver # substitute real server in here (of course)
EOF
~$ chmod +x /usr/local/bin/start_tunnel.sh

次に、それをスタートアッププログラムとして追加し([システム]-> [設定]-> [スタートアップアプリケーション])、とにかく動作するはずです!


Ubuntuの設定のネットワークプロキシセクションを介してこれを行う方法はありますか?ユーザー認証のオプションがあり、ユーザー名とパスワードを事前に入力できますか?設定が変更された場合に備えて、ファイルにアクセスしてやり直す必要はありません。
dalanmiller

autosshを使用しても機能しないと思います。
スケリット


-1
sudo ssh-keygen #type Enter everywhere
sudo cat /home/root/.ssh/ id_dsa.pub >> .ssh/authorized_keys

/etc/rc.local追加文字列:

echo "ssh socks 192.168.0.1:8000" ; sudo ssh -fND 192.168.0.1:8000 localhost

sshキーの設定は専用であることに注意してください。何が行われているかを読み取らずにすべてのプロンプトを盲目的に受け入れると、サービス/システムが危険にさらされる可能性があります。
Braiam 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.