以前、ターミナルを使用してアクセスしたVPSがあります。ターミナルを開くと、
最終ログイン: 8月29日火曜日 04:02:48 ttys002 Mac-mini:~ administator$
私がグーグルで検索した記事はすべて、
ssh[メールアドレス]
パスワードを入力すると、権限が拒否されます(パスワードとユーザー名が正しいことは100%確信しています)。その理由は、ターミナルがMacからアクセスできないためだとわかっています。以前、「ssh」を入力する前に入力する必要があるコマンドを見つけました。[メールアドレス]「Mac のローカルホストを終了するコマンドを入力してから、SSH サーバー情報を入力する必要があるようです。
私の質問は、そのコマンドが何であるか知っている人はいますか? Google で調べましたが、以前見つけた情報は見つからず、ブックマークしたページは削除されました。
ありがとう!!
答え1
VPS が AWS でホストされていると仮定すると、不足しているコマンドはアクセス ファイル (.PEM) ファイルへのパスになります。例:
ssh -i path/to/AccessKey.pem [email protected]
詳細情報はこちら:https://99robots.com/how-to-ssh-to-ec2-instance-on-aws/
答え2
Mac ターミナルから ssh を使用する場合は、sshd (ssh デーモン) を実行しているリモート サーバーに接続することになります。
これを実現するには、いくつかの条件を満たす必要があります。
- ネットワークに接続している必要があります(IP アドレスとルーターがあり、DNS が役立ちます)
- リモートサーバーはネットワーク上にある必要があります
- これらのネットワークは、トラフィックが可能な方法で相互接続する必要があります。osx
netstat -nr
、linux、および windows 上のルーティング テーブルが表示され (netstat が許可されている場合)traceroute
、ping
役立つ可能性がありますが、インターネット上では通常、これらはブロックされています。 - 会社で働いている場合は、ssh が許可されない可能性があります。
- リモートサーバーがそれを許可しない可能性があります
- 中間のネットワークでは許可されない可能性がある
上記のすべてが問題なければ、telnet server 22
標準ポートで実行され、Sierra が最新の OSX であると仮定して試すことができます。これにより、TCP 接続が明らかになります。
次は ssh です。双方があらゆる詳細について合意する必要があります。
- PasswordAuthentication がオフになっているか、パスワードがディレクトリ サーバーに保存されている可能性があります。
- ルートユーザーとして接続しないでください
- 代替の認証メカニズムを使用する必要があります。キー ペアは非常に一般的ですが、トークン、証明書、ワンタイム パスワード、Kerberos も使用できます。当社ではわかりませんが、ホスティング パートナーは知っています。キー ペアはデフォルトで使用されます。AWS と GCE には独自の方法があり、それぞれに説明ページがあります。
- Mac 上の ssh とそのファイルへのアクセスが許可され、これらのファイルには制限的なファイル権限が設定されている必要があります。
- IPアドレスを~/.ssh/known_hostsに追加できるはずです。
- Mac の SSH キーがホーム ディレクトリの (隠し) ディレクトリ .ssh にある場合は、これを使用して
ssh-keygen
ペアを作成し、pub ファイルを管理者に送信します。 - ローカル管理者の場合は、ログオンする必要がある Linux ユーザーの authorized_keys ファイルに pub ファイルを追加する必要があります。誰も ssh を使用できない場合は、コンソール セッションが必要です。ファイルの場所は sshd_config ファイルに記載されており、通常は $HOME/.ssh/authorized_keys です。
互換性のない暗号やバージョンの不一致など、より難解なケースもありますが、両端が最新であれば、上記の方法で問題を特定できるはずです。そうでない場合は、内部からの支援が必要です。つまり、sshd サーバーの root が支援できますtail -f /var/log/secure
。