タグ付けされた質問 「ssh」

SSH(Secure SHell)は、リモートコンピューターでコマンドを安全に実行するためのプロトコルです。SSHクライアントおよびサーバーソフトウェアの構成、使用、トラブルシューティングに関する質問には、このタグを使用してください。

3
SSHリモートコマンドライン引数はどのように解析されますか
リモートsshコマンドへの引数を二重にエスケープする必要があるという質問と回答を見てきました。私の質問は次のとおりです。正確に、いつ、2番目の解析が行われますか? 次を実行すると: $ ssh otherhost pstree -a -p 次の出力が表示されます。 |-sshd,3736 | `-sshd,1102 | `-sshd,1109 | `-pstree,1112 -a -p リモートコマンド(pstree)の親プロセスはsshdであり、リモートコマンドへのコマンドライン引数を解析するシェルがないように見えるため、二重引用符またはエスケープが必要であるように見えません(しかし、それは間違いなくです)。代わりに最初にそこにsshし、ログインシェルを取得して実行するpstree -a -pと、出力に次のように表示されます。 ├─sshd,3736 │ └─sshd,3733 │ └─sshd,3735 │ └─bash,3737 │ └─pstree,4130 -a -p したがってbash、その場合にコマンドライン解析を実行するシェルがそこにあるのは明らかです。しかし、リモートコマンドを直接使用する場合、シェルがないように見えるので、なぜ二重引用符が必要なのでしょうか。
11 bash  shell  ssh  process  quoting 

2
他のシステムのrootアカウントにどのようにSSH接続しますか?
他のシステムのrootアカウントにどのようにSSH接続しますか?ターゲットシステムにアクセスする必要があると仮定します。 これはクイズで出題された質問です。どうやら単純に使用 ssh root@192.168.xx.xx 答えではなかった。答えを知りたいのですが。
11 ssh 

2
SSHを介してUbuntu VMでFirefoxを実行すると、ホストマシンのFirefoxが開きます
Slackwareを使用しています。Firefoxが実行されています。また、VirtualBoxを使用してUbuntu 16.04を実行している仮想マシンもあります。 仮想マシンにFirefoxをインストールし、ホストコンピュータにFirefoxをインストールしました。 仮想マシンでSSHセッションを開き、Firefoxを実行しました。ホストコンピュータのFirefoxの新しいウィンドウが開きました。 なぜこれをしたのですか?私は、Firefoxのインスタンスが2つ実行されていることを期待していました。1つはホストコンピューター上で、もう1つは仮想マシン上です。
11 ssh  firefox 

3
sshクライアントの引数の後に対話型プログラムが続く場合、sshdは疑似端末を使用しないのはなぜですか?
SSHサーバーに接続する通常の方法はssh username@ip_addressです。しかし、ユーザーはリモートマシンでプログラムを実行したいだけかもしれません。したがって、プログラム名は、通常の引数の後に続きますssh username@ip_address <program_name>。たとえば、ssh username@ip_address ls。対話型プログラム(ユーザー入力も受け入れ、出力も提供する)を除いて、その引数は問題ありませんtop。出力は TERM環境変数が設定されていません。 つまり、sshdとtopプログラムの間に(疑似)端末が接続されていません。解決策は-t、コマンド全体がになる引数を追加することssh -t username@ip_address topです。 私の質問は、なぜデフォルトではsshdも疑似端末を使用して非対話型プログラムと通信できない-tため、対話型プログラムの引数を追加する必要がないのですか?
11 ssh  pty 

5
動的IPでインターネット経由で常にシステムにSSH接続できるように構成するにはどうすればよいですか?
基本的に、sshサーバー(マシンA)とsshクライアント(マシンB)の両方がインターネットアクセス(およびいくつかの3番目のサーバー、マシンC)を持っている限り、ネットワーク構成に関係なくteamviewerのようなことができるようにしたい)、私はアクセスを得ることができます-この理由は、マシンAを動かしたり、電源に接続したり、事前に構成されたいくつかのwifiネットワークのいずれかに自動接続したりできるようにすることです(それぞれ1つずつ/異なる) 、ネットワークでポート転送などを設定せずに、マシンBからインターネット経由でログインできる どうすればこれを達成できますか?ハンドシェイクを支援するために静的IPアドレスが設定されたサーバーに何かを設定してもかまいませんが、何かが既に存在する場合(たとえば、teamviewerの場合のように)サードパーティのサーバーも気にしません。 明確にするために編集:私は3台のマシン、ABとCを持っています Aは、ランダムな場所で電源がオン/オフになるヘッドレスラズベリーpiであり、事前に設定されたwifiネットワークに接続します Bは、接続したい適切なモニター、キーボードなどを備えたマシンです。 Cは静的IPアドレスを持つレンタルAWSサーバーであり、Bから確実にSSHで接続でき、BがAに接続するのに必要なものをすべてインストールできます
11 networking  ssh 

2
SSHクライアントで使用可能なホストキーアルゴリズムを一覧表示するにはどうすればよいですか?
したがって、sshにはオプションがありますHostKeyAlgorithms。使用例: ssh -o "HostKeyAlgorithms ssh-rsa" user@hostname サーバーecdsaキーを使用してクライアントを接続しようとしていますが、そのための正しい文字列が見つかりません。 利用可能なリストを取得するためにどのコマンドを使用できますHostKeyAlgorithmsか?
11 ssh  openssh 

2
ssh -t上のstderr
これは出力をSTDERRに送信しますが、Ctrl+を伝搬しませんC(つまり、Ctrl+ Cはkillしますsshがリモートはしませんsleep)。 $ ssh localhost 'sleep 100;echo foo ">&2"' これはCtrl+を伝播しますC(つまり、Ctrl+ Cとsshリモートsleepを強制終了します)が、STDERRをSTDOUTに送信します。 $ ssh -tt localhost 'sleep 100;echo foo ">&2"' Ctrl+を伝播させながら、2番目に強制的にSTDERR出力をSTDERRに送信させるにはどうすればよいCですか? バックグラウンド GNU ParallelはCtrl+ を伝播するために「ssh -tt」を使用しますC。これにより、リモートで実行中のジョブを強制終了できます。ただし、STDERRに送信されたデータは、受信側のSTDERRに送信され続ける必要があります。


2
ユーザーのタイムゾーンを変更するには?
私は(たとえばDebianで)システムdpkg-reconfigure tzdataのタイムゾーンを変更するために使用できることを知っていますが、ユーザーのタイムゾーンをどのように変更できるのか疑問に思っています(Linux / Unixがそのようなアイデアをサポートしている場合)。 私は通常、sshを介してリモートでサーバーで作業しますが、サーバーがUTCで内部的に動作し(ファイルなど)、タイムゾーンが表面的である場合、接続元に応じて希望のタイムゾーンで時間を確認したいと思います。これは可能ですか?

2
SFTPを使用してパスワードなしのバックアップを制限する
Duplicityを使用してサーバーをコンピューターにバックアップする必要があります。 duplicity /etc sftp://backup@my.dynamic.ip.address//home/backup これを行う前に、次の手順でパスワードなしのアクセスを許可する必要があります。 $ ssh-keygen $ ssh-copy-id backup@my.dynamic.ip.address $ ssh backup@my.dynamic.ip.address 私の質問は、生成された公開キーでこのSFTP転送だけにコマンドを制限するにはどうすればよいですか? command="restrict to sftp",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA… また、動的IPアドレスを使用しているので、IPが変更されるたびに、「不明なホストが見つからない」問題をどのようにして克服できますか?

1
プロセス置換<()がssh -Fで機能しないのはなぜですか
迷惑な仮想マシンがいくつかあります。それらにログインするには、vagrant sshコマンドを発行します。通常のsshコマンドでログインしたい。vagrant ssh-config適した設定ファイルを出力します $ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2201 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /home/cbliard/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL この設定をファイルに出力してssh -Fで使用すると、すべてが正常に機能します。 $ vagrant ssh-config &gt; /tmp/config $ ssh -F /tmp/config default =&gt; logged successfully プロセス置換演算子&lt;(cmd)を使用して一時構成ファイルの作成を防ぐと、失敗します。 $ ssh -F &lt;(vagrant ssh-config) default Can't open …

6
sshの終了後、sshコマンドが予期せず他のシステムで続行される
以下のコマンドを実行して、他のシステムの出力ファイルを監視しています。 ssh $ip_address 'for n in 1 2 3 4 5; do sleep 10; echo $n &gt;&gt;/tmp/count; done' ^Cログインしている端末を使用して、または単に端末を強制終了することによってsshコマンドを強制終了した場合、リモートコマンドも終了することを期待しています。ただし、これは発生しません。1から/tmp/count5までのすべての数値を取得しps -ejH、シェルとそのsleep子が実行を続けていることを示します。 これは予想される動作であり、どこかに文書化されていますか?無効にできますか?周りから読むと、私はこの種の動作をデフォルトではなく、nohupで明示的に有効にする必要があると予想していました。 私はsshとsshdのmanページを調べましたが、明らかなものは何も見つかりませんでした。Googleは、この動作をオフにするためではなく、オンにするための手順を示しています。 Red Hat Enterprise Linux 6.2を実行していて、両方のシステムでrootログインとbashシェルを使用しています。
11 ssh  rhel  openssh  sshd 

3
ブートプロセスの早い段階でポートを開いてSSH経由でLUKSをロック解除する方法
私は完全に暗号化されたサーバーでDebian 7を実行し、dropbearとbusyboxを設定して、SSH経由でLUKSコンテナーのロックを解除しました(このチュートリアルとこのU&L回答で説明されています)。 残念ながら、再起動時に(LAN経由で)サーバーにSSH接続しようとすると、「接続が拒否されました」というエラーが表示されます。私が試してみましたtelnetし、nmapデフォルトのポート(22)に、両方のポートが閉じていると言います。 サーバーにはufw、LANからのすべてのトラフィックを受け入れるルールがあります。 Anywhere ALLOW 192.168.1.0/24 dropbearがリッスンするポートを変更しようとしました/etc/defaults/dropbearがssh、telnetそれでも接続が拒否されます1。 接続してLUKSコンテナーをロック解除できるように、ブートプロセスのその段階でポートが開いていることを確認するにはどうすればよいですか? ファイアウォールを無効にしても違いはありませんnmap。すべてのポートが閉じられたままです。 2/14更新 break=premountカーネルの行に追加して、initramfsを試してみました。dropbearが開始されましたが、その時点ではネットワークは稼働していません。終了後、ネットワークが起動し、LUKSデバイスのロックを解除するプロンプトが表示されるまでブートが続行されます。 この時点で、ネットワークは稼働しており、ホストには正しいIPアドレスが割り当てられていますが、ポート22はまだ閉じています。 /etc/initramfs-tools/intiramfs.conf私が使用しているIP行は次のとおりです。 export IP=192.168.1.200::192.168.1.1:255.255.255.0::eth0:off 指示と一致して/usr/share/doc/cryptsetup/README.remote.gz、私はちょうど、デバイスオプションを追加しようとしたが、それはネットワークを起動し、DHCPリースを得るのに十分ではありません。 アップデート11/10/14 カールの答えは必要なものでした:セットアップ/etc/initramfs-tools/conf.d/cryptrootが鍵でした: target=md1_crypt,source=UUID=8570d12k-ccha-4985-s09f-e43dhed9fa2a このガイドは、より最新で関連性のある(そして成功した)ことも証明しました。
11 ssh  networking  luks 

2
ssh、特定のシェルを起動し、リモートマシンでコマンドを実行しますか?
複数のユーザーがリモートマシンで同じユーザーアカウントを共有している状況です。自分の.zshrcファイルを書き込んだ「個人用」ディレクトリがあり、次の方法が欲しいのですが。 私のssh設定ファイル(例ControlMaster auto)からのディレクティブを使用して、リモートマシンでsshセッションを開始します。 このセッションはZシェルを実行します それを実行します.zshrc(ない共有ユーザのホームディレクトリ上)私の「個人的な」ディレクトリに エイリアスまたはそのようなsshセッションを開始する簡単な方法があればいいのですが(OpenSSHの構成ファイルを使用することを考えたのはそのためです)、他のアイデアは受け入れることができます! OpenSSHの設定ファイルを使用していますか? OpenSSHのssh_configのmanページを読んで、ディレクティブLocalCommandを使用して、サーバーに正常に接続した後にローカルで実行するコマンドを指定できます。これにより、サーバーに接続した後、リモートでconfig実行するコマンドをファイルに指示する方法はあるのではないかと思いましたが、そうではないようです。
11 ssh  openssh 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.