社説:
この記事には、openssh-server構成と構成リバースプロキシサーバーsshの2つの部分が含まれています。どちらも比較的シンプルですが、使用頻度が低く忘れやすいので、メモしておいてください。
0.openssh-serverを構成します
1.openssh-serverをインストールします
sudo apt install openssh-server
2. sshd_configファイルを開き、次のように記述します
sudo vim /etc/ssh/sshd_config
Port 12345 # 设置自己喜欢的ssh访问端口 默认22
PermitRootLogin yes # 允许远程root登录
3.openssh-serverサービスを再起動します
sudo systemctl restart sshd
4.sshサーバーにログインします
# 端口为22时可省略
ssh username@sshServerIP -p 12345
5.openssh-serverをバックグラウンドで実行できるようにします
sudo systemctl enable sshd
1.SSHはイントラネットの浸透を実現します
イントラネットへの侵入には、既知のIPを持つパブリックネットワークホストが「待機」し、イントラネットホストからログインを受信し、ssh接続を維持する必要があります。
ホスト | ユーザー名 | IP | sshサーバーポート | autossh | マップされたポート |
---|---|---|---|---|---|
パブリックネットワークP | p_user | 9.9.9.9 | 10009 | - | 10008 |
イントラネットI | i_user | 1.1.1.1 | 10001 | 10002 | - |
1.パブリックネットワークホスト(P)と内部ネットワークホスト(I)にそれぞれopenssh-server(上記と同じ)をインストールして構成し、ポートをそれぞれ10009と10001として構成します。
2.内部ネットワークホストにautosshをインストールします。このツールは、ssh接続を維持する役割を果たします(維持される理由については、ssh関連情報を参照してください)。
# 内网 I:
sudo apt install autossh
3.内部ネットワークホストでid_rsaを生成します
# 内网 I:
ssh-keygen # 这里直接Enter到底 不要设置密码
#查看生成的id_rsa
ls ~/.ssh/
# id_rsa.pub 就是公钥
4.内部ネットワークホストによって生成された公開鍵を公開ネットワークホストにコピーします
# 内网 I:
scp -P 10009 ~/.ssh/id_rsa.pub [email protected]:~/
5.公開鍵を公開ネットワークホストに追加します
# 公网 P:
sudo cat id_rsa.pub >> ~/.ssh/authorized_keys
6.イントラネットホストは積極的にautossh接続を確立します
# 内网 I:
autossh -M 10002 -NfR 10008:localhost:10001 [email protected] -p 10009
7.検証
# 公网 P:
ssh i_user@localhost -p 10008
8.
起動時に自動的に接続を確立するように設定します。Ubuntuの「アプリケーションの起動」に次のコマンドを追加して確認します。
# 就是第6步的命令
autossh -M 10002 -NfR 10008:localhost:10001 [email protected] -p 10009
ここに問題があります。起動する前にログインして認証する必要があり、実際の「起動」を実現することは不可能です。
私はinit.d; rc; systemdなどを試してshスクリプトを正常に記述しました。正解があれば、教えてください。ありがとうございます。