私は同じルータの後ろに二つのコンピュータを持っています。 それらをAとBと呼びましょう。
Aは次の方法でBにSSHできます: ssh usr@<internal ip of computer>
Bは同じことを実行してAにSSH接続できますが、外部IPを使用する必要があります。 私はルータのポート22をコンピュータAのIPに転送したので、すべてが私には理にかなっています。
ただし、ポート26をコンピュータBに転送し、両方に外部IPを使用してネットワーク外からSSHを転送しますが、ポート22または26のいずれかを指定して、使用す
私はの出力を通してポート26を許可しようとしました iptables
AとBの入力では、それはうまくいかないようでした。 また、Aの22と同様に、ポート26をbの内部IP(ルータを介して)に転送しました。
外部IPとポート26を使用してAからBにSSHしようとすると、次のようになります:
ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.
バージョン:
- A=Openssh_5.9p1Debian-5ubuntu1,OpenSSL1.0.1 14Mar2012
- B=Openssh_6.0p1Debian-4,OpenSSL1.0.1c10May2012
Aには12.04Ubuntuがあり、BはRaspbianを搭載したRaspberry Piです。
編集:私が置くのを忘れていた何か:私はSSH設定ファイルを切り替えてみました(私はそれがあることがわかりました /etc/ssh/ssh_config
)コメントを解除しました(削除しました) #
)とのライン Port
そして変更されました 22
に 26
. それは私にまだ接続拒否メッセージを与えました。 (私は無駄に再起動しました。)
Maxx
#2
Linuxシステムを使用していて、ポート26のSSHサーバーに接続する場合は、次のコマンドを使用できます。
ssh user@192.168.1.1 -p 26
メモ:
- Server IPを、ご使用のサーバのIPアドレスまたはDNS名に置き換えます。
- 設定したとおりにポート番号を変更します。
- カスタムポートSSHを使用している場合、ファイアウォール上の送信、受信接続には同じポートがほとんど許可されます。
Ray
#3
2番目のマシンのポート26でSSHを実行していないようです。 そのマシンのポート番号を26に変更できます。
どちらかの編集 /etc/ssh/sshd_config
&SSHを再起動することを忘れないでください(service sshd restart
)または22にそれを残しますが、第二のマシン上のポート22にルータ上のポート26を転送します。 また、接続を許可するために、第二のマシン上の任意のファイアウォール設定を変更することを忘れないでください。
イントラネットsshアクセスにのみポート22を使用します。
インターネット経由でのアクセスには、カスタム(珍しい)ポートを使用します。これは、"よく知られているユーザー名"のポート22をスキャンしているスクリプトの子供たちによって生成された負荷を軽減する利点があります。
その 外付け sshdプロセスは以下によって制御されます xinetd
と並行して実行されている 内部 sshd
process.In 次の例では、ポート12345を使用します:
これをシステム上で利用可能な任意の空きポート番号に自由に変更できます。たぶん、より高い値は、このポートがによってスキャンされていることも少し可能性が低いようになります "クイックポートスキャン".
その xinetd
設定は:
service ssh-external{ socket_type = stream wait = no protocol = tcp type = UNLISTED user = root server = /usr/sbin/sshd server_args = -i -f /etc/ssh/external-sshd.config port = 12345 log_on_failure += USERID}
ファイル /etc/ssh/external-ssdh.config
あなたのいつものコピーにすることができます sshd
設定。次の文が構成されていることを確認します:
Port 12345AddressFamily inet
また、公開鍵認証を強制し、インターネットアクセスのパスワード認証を無効にすることをお勧めします:
PasswordAuthentication noPermitEmptyPasswords noChallengeResponseAuthentication no
リッスンポートは、IPアドレスにハードリンクすることもできます
/etc/ssh/sshd_config:
ListenAddress 10.10.10.10:22ListenAddress 20.20.20.20:4444
Gene_H
#6
私がで説明したように 関連する回答、sshクライアントは、URI形式を次のように指定できます ssh://user@host:1234
. 例えば:
ssh ssh://myuser@mydomain.com:2222
ここで、2222はポート番号です。 代わりに使用するポート番号を代わりに使用します。 もちろん、指定されたポートに接続するには、sshサーバー(接続しようとしているホスト上)が最初に指定されたポートでリッスンする必要があることに注意し
デフォルトポート(TCP/22)でsshを実行することはお勧めできませんが、WAN IP22からLAN IP上のssh-serverを使用しているポートに転送することもできません。
Ssh-serverを指定されたポートでリッスンさせるには、次の操作を行います
上で編集 /etc/ssh/sshd_config
(に注意してください。 d)から #Port 22
に Port 26
. すなわち、コメントを解除し、ポートを変更します。 より良い26 何かになります ランダムに上に (6553542895
に変更することも検討してください。 PermitRootLogin no
.
-
設定をテストするには sshテストモード
sudo sshd -t
-
Ssh-serverサービスの再起動
sudo systemctl restart sshd.service
その後、ssh-clientから接続することができます
ssh user@serverNameOrIP -p 42895
Moshパッケージがサーバーにインストールされている場合は、次を使用します
mosh --ssh="ssh -p 42895" serverNameOrIP
Eli_D
#8
/Etc/ssh/ssh_config_はsshクライアントの設定であることに注意してください。 ここで、/etc/ssh/sshd_config_はsshデーモンの設定です。
Yuu ohave SSHは2番目のマシンのポート22または26で実行されていますか?