OpenSSH-7.5p1

OpenSSH の概要

OpenSSH パッケージは ssh クライアントと sshd デーモンを提供します。 これはネットワーク越しの通信にあたり、権限情報をはじめとする情報を暗号化します。 ssh コマンドと scp コマンドは、それぞれ telnetrcp に対するセキュアな実装です。

本パッケージは LFS-8.1 において正しくビルドでき動作することが確認されています。

パッケージ情報

  • ダウンロード (HTTP): http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz

  • ダウンロード MD5 sum: 652fdc7d8392f112bef11cacf7e69e23

  • ダウンロードサイズ: 1.4 MB

  • 必要ディスク容量: 37 MB (テスト実施時はさらに 11 MB)

  • 概算ビルド時間: 0.4 SBU (テスト実施はプロセッサーの処理スピードとは無関係に最低でも 10分)

Additional Downloads

OpenSSH の依存パッケージ

必須

OpenSSL-1.1.0f または LibreSSL Portable

任意

Linux-PAM-1.3.0, X ウィンドウシステム, MIT Kerberos V5-1.15.1, libedit, OpenSC, and libsectok

任意, 実行時 (エントロピー収集のためにのみ利用される)

OpenJDK-1.8.0.141, Net-tools-CVS_20101030, Sysstat-11.5.7

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/OpenSSH

OpenSSH のインストール

[警告]

警告

If reinstalling over an SSH connection to enable Linux-PAM-1.3.0 support, be certain to temporarily set PermitRootLogin to yes in /etc/ssh/sshd_config until you complete reinstallation of Systemd-234, or you may find that you are unable to login to the system remotely.

他のコンピューターへの接続の際に、OpenSSH は二つのプロセスとして起動します。 初めのプロセスは特権プロセスであり、必要に応じて特権の発行を制御します。 二つめのプロセスはネットワーク通信を行います。 環境設定を適切に行うためには、インストール手順において追加作業が必要となります。 それは root ユーザーとなって、以下のコマンドを行うものです。

install  -v -m700 -d /var/lib/sshd &&
chown    -v root:sys /var/lib/sshd &&

groupadd -g 50 sshd        &&
useradd  -c 'sshd PrivSep' \
         -d /var/lib/sshd  \
         -g sshd           \
         -s /bin/false     \
         -u 50 sshd

以下のコマンドを実行して OpenSSH をビルドします。

patch -Np1 -i ../openssh-7.5p1-openssl-1.1.0-1.patch &&

./configure --prefix=/usr                     \
            --sysconfdir=/etc/ssh             \
            --with-md5-passwords              \
            --with-privsep-path=/var/lib/sshd &&
make

テストスイートの実行には、インストール済の scp が必要であり、これがないとマルチプレックステストが失敗します。 テスト実施前にはまず scp プログラムを /usr/bin にコピーしてください。 もしすでにこのプログラムが存在していた場合にはバックアップをとっておいてください。

ビルド結果をテストする場合は make tests を実行します。

root ユーザーになって以下を実行します。

make install &&
install -v -m755    contrib/ssh-copy-id /usr/bin     &&

install -v -m644    contrib/ssh-copy-id.1 \
                    /usr/share/man/man1              &&
install -v -m755 -d /usr/share/doc/openssh-7.5p1     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-7.5p1

コマンド説明

--sysconfdir=/etc/ssh: このパラメーターを指定することで、設定ファイルを /usr/etc にインストールしないようにします。

--with-md5-passwords: MD5 パスワードの利用を有効にします。

--with-pam: このパラメーターは Linux-PAM サポートを有効にします。

--with-xauth=/usr/bin/xauth: X における認証を行う xauth 実行モジュールのデフォルトインストール先を指定します。 xauth のインストール先に合わせて適宜修正してください。 このディレクトリは sshd_config ファイルの XAuthLocation キーワードにおいても設定することができます。 Xorg を既にインストールしている場合は、本スイッチを省略して構いません。

--with-kerberos5=/usr: このオプションは Kerberos 5 サポートを有効にします。

--with-libedit: This option enables line editing and history features for sftp.

OpenSSH の設定

設定ファイル

~/.ssh/*, /etc/ssh/ssh_config, /etc/ssh/sshd_config

There are no required changes to any of these files. However, you may wish to view the /etc/ssh/ files and make any changes appropriate for the security of your system. One recommended change is that you disable root login via ssh. Execute the following command as the root user to disable root login via ssh:

echo "PermitRootLogin no" >> /etc/ssh/sshd_config

If you want to be able to log in without typing in your password, first create ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub with ssh-keygen and then copy ~/.ssh/id_rsa.pub to ~/.ssh/authorized_keys on the remote computer that you want to log into. You'll need to change REMOTE_USERNAME and REMOTE_HOSTNAME for the username and hostname of the remote computer and you'll also need to enter your password for the ssh-copy-id command to succeed:

ssh-keygen &&
ssh-copy-id -i ~/.ssh/id_rsa.pub REMOTE_USERNAME@REMOTE_HOSTNAME

Once you've got passwordless logins working it's actually more secure than logging in with a password (as the private key is much longer than most people's passwords). If you would like to now disable password logins, as the root user:

echo "PasswordAuthentication no" >> /etc/ssh/sshd_config &&
echo "ChallengeResponseAuthentication no" >> /etc/ssh/sshd_config

If you added Linux-PAM support and you want ssh to use it then you will need to add a configuration file for sshd and enable use of LinuxPAM. Note, ssh only uses PAM to check passwords, if you've disabled password logins these commands are not needed. If you want to use PAM, issue the following commands as the root user:

sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd &&
chmod 644 /etc/pam.d/sshd &&
echo "UsePAM yes" >> /etc/ssh/sshd_config

Additional configuration information can be found in the man pages for sshd, ssh and ssh-agent.

Systemd Unit

To start the SSH server at system boot, install the sshd.service unit included in the blfs-systemd-units-20160602 package.

make install-sshd

パッケージ構成

インストールプログラム: scp, sftp, slogin (ssh へのシンボリックリンク), ssh, ssh-add, ssh-agent, ssh-copy-id, ssh-keygen, ssh-keyscan, sshd
インストールライブラリ: なし
インストールディレクトリ: /etc/ssh, /usr/share/doc/openssh-7.5p1, /var/lib/sshd

概略説明

scp

rcp に似たファイルコピープログラム。 ただし暗号化プロトコルが用いられます。

sftp

SSH1 および SSH2 プロトコルを用いて動作する FTP ライクなプログラム。

slogin

ssh へのシンボリックリンク。

ssh

rloginrsh に似たクライアントプログラム。 ただし暗号化プロトコルが用いられます。

sshd

ssh からのログイン要求を待ち受けるデーモンプログラム。

ssh-add

ssh-agent に対して鍵を追加するツール。

ssh-agent

is an authentication agent that can store private keys.

ssh-copy-id

is a script that enables logins on remote machine using local keys.

ssh-keygen

鍵生成ツール。

ssh-keyscan

is a utility for gathering public host keys from a number of hosts.

最終更新日: 2017-08-17 13:41:37 +0900