私はUnixに初めて触れたので、私と一緒にしてください。
私のUbuntuワークステーションの端末を介してUbuntuサーバーを実行しているサーバーに接続しようとすると、次のエラーが発生します。
bash: 22: command not found
私が入力した接続コマンドは次のとおりです。
ssh user@ip 22
その後、ユーザーにパスワードを入力するように求められ、入力後にこのエラーが発生します。
私はopenssh-clientを再インストールしてみました:
sudo apt-get remove --purge openssh-client
sudo apt-get install openssh-client
また、私のリポジトリを更新しようとしました -sudo apt-get update
結果がなくて残念です...
答え1
ポート22は接続する標準ポートですsshd
。これはデフォルトで使用されているため、標準以外のポートで受信するようにリモートホストを設定していない場合はすべてsshd_config
ですssh user@ip
。
たとえば、リモートホストがポート2222でリッスンしている場合、そのポートを指定する構文はですssh -p 2222 user@ip
。これをやろうとしているようですが、ssh -p 22 user@ip
前述したように、SSHが試みるデフォルトは22なので、これは必要ありません。ポートに接続してください。
あなたのコマンドが実際に行うことは、22
存在しないリモートホストでコマンドを実行しようとすることです。コマンドの後のすべての内容は、ssh
リモートホストで実行されるコマンドとして解釈されます(ベストプラクティスでは通常、引用符を使用する必要があります)。たとえば、ssh user@ip hostname
リモートシステムでコマンドを実行してSSHを終了すると、ローカルシェルに戻り、リモートホスト名が返されます。