回答:
Ubuntuを使用してホストマシンでsshサービスのセットアップを開始するのに役立つ最適なリソースは、OpenSSHサーバーです。これにより、SSHファイル転送プロトコル(セキュアファイル転送プロトコル、またはSFTP)を使用して、クライアントマシンからSSH経由でファイルにアクセス、転送、および管理できます。
OpenSSH server
、ホストマシンでセットアップでき、ユーザーはssh
ユーザー名とパスワードのみを使用してクライアントからホストのサーバーに接続できます。ただし、公開鍵認証が推奨されることに注意してください。「SSHサーバーをインストールする前に強力なパスワードを持っていることを確認してください(パスワードを完全に無効にすることもできます)」
ホストにOpenSSHサーバーをインストールするには:
sudo apt-get install openssh-server
ホストに確実に接続できるように、ホストに静的IPアドレスを付与します。
nm-connection-editor
OpenSSHサーバーを設定するには、「まず、sshd_configファイルをホームディレクトリにコピーするか、/ etc / sshで読み取り専用コピーを作成してバックアップを作成します。」
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
「sshd_config
ファイルをバックアップしたら、次のようなテキストエディタで変更できます。」
sudo -H gedit /etc/ssh/sshd_config
これらの変更を有効にするには、ホストでsshサービスを再起動する必要があります
sudo service ssh restart
PermitRootLogin without-password
ます。PermitRootLogin no
ホストに追加/etc/ssh/sshd_config
Port 22
ます。コメントアウトします。Port <new-port-number>
ホストに追加/etc/ssh/sshd_config
ListenAddress 192.168.0.10
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
またはAllowUsers <username>@111.222.333.*
ホスト/etc/ssh/sshd_config
~/.ssh/id_rsa.pub
各クライアントからのコンテンツをHostの新しい行として追加し~/.ssh/authorized_keys
ます。次に、PasswordAuthentication no
ホストに追加/etc/ssh/sshd_config
sudo apt-get install ufw && sudo ufw limit OpenSSH
PasswordAuthentication
て、sshd_config
ファイルで有効にしますフレーズのある行を見つけPasswordAuthentication
て読みます:
PasswordAuthentication yes
新しいsshd_config
ファイルを保存して、ホストのssh
サービスを再起動します。
sudo service ssh restart
ホストのssh
サービスがsshd_config
ファイルでリッスンするポートに注意し、ルーターをセットアップして、このポートに向けられたTCP / UDPトラフィックをOpenSSHサーバーのIPアドレスに転送します。
192.168.1.1
ルーターにログインしてポート転送を設定するために、Webブラウザーを指定できます。インターネット経由でSSH接続を受け入れるようにOpenSSHサーバーとルーターを構成するをご覧ください。<username>
ホストと同様にSFTPシェルターミナルを開くには、クライアントでターミナルを開き、123.123.1.23
ホストのIPアドレスに置き換えて次のコマンドを入力します。
sftp <username>@123.123.1.23
ホストのOpenSSHサーバーがリッスンするポート番号を変更した場合は、次を実行します。
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
<username>
ホストでSSHシェルターミナルを開くには、クライアントでターミナルを開き、123.123.1.23
ホストのIPアドレスに置き換えて次のコマンドを入力します。
ssh <username>@123.123.1.23
ホストのOpenSSHサーバーがリッスンするポート番号を変更した場合は、次を実行します。
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
SSH
sshd_config
ファイルで指定されたポート番号14.04で:
ホスト上に適切なファイル許可を設定すると、ホスト上で作成する各標準ユーザー(sudo特権なし)が/home/new_user
ディレクトリを所有することを保証しますが、ディレクトリ構造の残りの部分では許可が制限されます。
お役に立てば幸いです!
手順1:OpenSSHパッケージがインストールされていない場合はインストールする
sudo apt-get install openssh-server
ステップ2:SFTPユーザー用に個別のグループを作成します。
sudo addgroup ftpaccess
ステップ3:/etc/ssh/sshd_config
ファイルを編集し、次のように変更します。以下の行を見つけてコメントします。
#Subsystem sftp /usr/lib/openssh/sftp-server
これらの行をファイルの最後に追加します。
Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ステップ4:sshdサービスを再起動します。
sudo service ssh restart
ステップ5:ftpaccessグループでユーザーを追加し、パスワードを作成します。
sudo adduser paul --ingroup ftpaccess --shell /usr/sbin/nologin
手順6:ホームディレクトリのアクセス許可を変更します。
sudo chown root:root /home/paul
ステップ7:アップロード用のホーム内にディレクトリを作成し、グループで権限を変更します。
sudo mkdir /home/paul/www
sudo chown paul:ftpaccess /home/paul/www
それでおしまい 。
sudo chmod 711
た。ホームフォルダーに対して行った結果、wwwフォルダーにのみftpできました。これまでのところは良さそうですが、多分他の人がチャイムを鳴らすことができます
Denyhostsは、「jtd」で言及されているもののほかに見たいツールです。SSHサーバーへの繰り返しの接続試行を自動的にブロックできます。Ubuntuリポジトリにインストールできます。
ユーザーへのアクセスを制限する
ここでは、ユーザーにファイル転送のみを許可し、ターミナルアクセスを無効にします。
そのために、構成ファイルの下部に次のコードを追加します。
$ sudo nano /etc/ssh/sshd_config
これで、ファイルが開き、コードが貼り付けられます。
/etc/ssh/sshd_config
. . .
Match User filemg
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
filemg
ユーザー名に置き換えます。次に、ファイルを保存して閉じます。
それでおしまい。