openssh のアップグレードの詳細な例

零下一度
リリース: 2017-06-27 10:09:03
オリジナル
8762 人が閲覧しました

1. 最新の openssh パッケージをダウンロードします


2. openssh をアップグレードする前に、まずサーバー Telnet を開き、Telnet 経由でサーバーにログインする必要があります。アップグレードプロセスにより、ssh が一時的に利用できなくなります

Linux Telnet サービスを開きます:

Telnet がインストールされているかどうかを確認します:rpm -qa|grep telnet

telnet-0.17-48.el6.x86_64

telnet-server -0.17-48.el6。x86_64

インストールされていない場合は、yum

[root@leotest ~]# yum install telnet

[root@leotest ~]# yum install telnet-server

Telnet サービスを開始します:

Telnet ファイルを編集し、disable を no に変更します

[root@leotest xinetd.d]# vi /etc/xinetd.d/telnet

# デフォルト: on

# description: Telnet サーバーはサービスを提供しますTelnet セッション。認証に

# UNENCRYPTED ユーザー名 / パスワードのペアを使用します。

Service Telnet

{

Flags = Reuse

Socket_type = STREAM

WAIT = No

User = /US r/sbin/in。 telnetd

log_on_failure + = userid etc/rc.d/init.d/xinetdrestart

telnetを介してサーバーに接続します。 192.168.5.5:23...

接続が確立されました。

ローカル シェルにエスケープするには、「Ctrl+Alt+]」を押してください。

Red Hat Enterprise Linux Server リリース 6.8 (Santiago)

カーネル 2.6.32-642。 x86_64 上の el6.x86_64ログイン: testパスワード:

[test@leotest ~ ]$

デフォルトの

telnet

は一般ユーザーのみに接続できるため、通常のユーザーとしてログインする必要がありますユーザーを選択して

root

user

3. 元の openssh 関連ファイルをバックアップします :

cp /usr/sbin/sshd /usr/sbin/sshd.bak

cp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak

cp /etc/ssh/sshd_config /etc/ ssh/sshd_config.bak

cp /etc/ssh/moduli /etc/ssh/moduli.bak

注: 次の 3 つのファイルを削除してください。削除しないと、インストール中にエラーが報告されます:

/etc/ssh /ssh_config はすでに存在します。インストールは上書きされません/etc/ssh/sshd_config はすでに存在します。インストール上書きされません/etc/ssh/moduli が既に存在するため、インストールは上書きされませんrm /etc/ssh/ssh_config -frrm /etc/ssh/sshd_config -frrm /etc/ssh/ moduli -fr

yum install pam-develyum install zlib-develyum install openssl-devel

4. 解凍して openssh をインストールします

[root@leotestソフト]# tar -zxvf openssh-7.4p1.tar.gz[root@leotest ソフト]# ls

openssh-7.4 p1 openssh-7.4p1.tar.gz openssh-7.4p1-vs-openbsd.diff.gz

[root@leotest software]# cd openssh-7.4p1

[root@leotest openssh-7.4p1]#./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with -pam --with-md5-passwords --mandir=/usr/share/man

### configure: error: * ** zlib.h がありません – 最初にインストールするか、config.log を確認してください

#yum install zlib -devel

###configure: エラー: *** 最近の OpenSSL libcrypto が見つかりません (詳細は config.log を参照してください) ***

#yum install openssl openssl-devel

再コンパイル:

お願いします再コンパイルする前に以前のコンパイル情報をクリーンアップします:

make clean

ldconfig

[root@leotest openssh-7.4p1] #

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ ssh --with-pam --with-md5-passwords --mandir=/usr/share/manOpenSSH は次のオプションで構成されています:

ユーザーバイナリ: /usr/bin

システムバイナリ: /usr/sbin

設定ファイル: /etc/ssh

Askpass プログラム: /usr/libexec/ssh-askpass

マニュアルページ: /usr/share/man /manX

PID ファイル: /var/run

権限分離 chroot パス: /var/empty

sshd のデフォルトのユーザー PATH: /usr/bin:/bin:/usr/sbin:/sbin

マンページの形式: ドキュメント

PAM サポート: いいえ

OSF SIA サポート: いいえ

KerberosV サポート: いいえ

SELinux サポート: いいえ

スマートカード サポート:

S/KEY サポート: いいえ

MD5 パスワード サポート: いいえ

libedit サポート:いいえ

Solaris プロセス契約のサポート: いいえ

Solaris プロジェクトのサポート: いいえ

Solaris 権限のサポート: いいえ

$DISPLAY ハックの IP アドレス: いいえ

v4 を v6 ハックに変換: はい

BSD 認証サポート: いいえ

乱数ソース: OpenSSL 内部のみ

Privsep サンドボックス スタイル: rlimit

ホスト: x86_64-pc-linux-gnu

コンパイラ: gcc

コンパイラ フラグ: -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-all -fPIE

プリプロセッサ フラグ:

リンカー フラグ: -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -fstack-protector-all -pie

ライブラリ: -lcrypto -lrt -ldl -lutil -lz -lcrypt -lresolv

make && make install

/etc/init.d/sshd restart

5.古い文書を覆います

cp -p /softs/openssh-7.4p1/contrib/redhat/sshd.init /etc/init.d/sshd

chmod u+x /etc/init.d/sshd

chkconfig --add sshd

cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

[root@pttlstydb openssh-7.4p1]# cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

cp: `/usr/sbin/sshd' を上書きしますか? y

cp: 通常のファイル `/usr/sbin/sshd' を作成できません: テキスト ファイルがビジーです

文件正在被使用中

[root@pttlstydb openssh-7.4p1]# ps -ef|grep sshd

root 14111 1 0 10:05 ?        00:00:00 sshd: root@pts/0

root 14865 1 0 10:22 ?        00:00:00 sshd: root@nottty

root 24182 14779 0 10:30 pts/1 00:00:00 grep sshd

[root@pttlstydb openssh-7.4p1]# kill -9 14865

[root@pttlstydb openssh-7.4p1]# ps -ef|grep sshd

root 24227 14779 0 10:31 pts/1 00:00:00 grep sshd

重新覆盖:

cp/usr /local/openssh/bin/ssh /usr/bin/ssh

[root@leotest openssh-7.4p1]# service sshd restart

sshd を停止しています: [ OK ]

ssh-keygen: 不正なオプション -- A

使用法: ssh-keygen [オプション]

Options:

cat /etc/init.d/sshd

start()

{

# 必要に応じてキーを作成します

/usr/bin/ ssh-keygen -A

if [ -x /sbin/restorecon ]; then

/sbin/restorecon /etc/ssh/ssh_host_key.pub

/sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub

/sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub

/sbin/restorecon / etc/ssh/ssh_host_ecdsa_key.pub

fi

echo -n $"$prog を開始しています:"

$SSHD $OPTIONS && 成功 ||失敗

RETVAL=$?

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd

echo

}

のため低バージョンしー -keygen無し-Aパラメータ

解法方法:

cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

重启sshd服务:

[root@leotest ssh]# service sshd restart

sshd を停止しています: [ OK ]

sshd の起動: [ OK ]

sshd の起動:/etc/ssh/ sshd_config 81 行目: サポートされていないオプション GSSAPIAuthentication

/etc/ssh/sshd_config 83 行目: サポートされていないオプション GSSAPICleanupCredentials

原因:新しいバージョンの openssh はサポートされていません、sshd の変更が必要ですの構成文書

[root@leotest openssh-7.4p1]# vi /etc/ssh/sshd_config

##去掉前の注释,允许root通过ssh登录

PermitRootLogin はい

##注释掉下面三个パラメータ

#GSSAPIAuthentication はい

#GSSAPICleanupCredentials はい

#UsePAM はい

##在文件末尾加上如下信息,否否否法通过ssh登录linux:

この問題の原因は ssh 昇進後、安全のため、いくつかの加重計算法が再利用されないことを承認し、手動で追加してすぐに使用可能です。 aes256-ctr、3des-cbc、arcfour128、arcfour256、arcfour、blowfish-cbc、cast128-cbcMACs hmac-md5、hmac-sha1、umac-64@openssh.com、hmac-ripemd160、hmac-sha1-96、 hmac-md5-96

KexAlgorithms diffie-hellman-group1-sha1、diffie-hellman-group14-sha1、diffie-hellman-group-exchange-sha1、diffie-hellman-group-exchange-sha256、ecdh-sha2-nistp256、 ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org

6. 重启

sshd服务,测试ssh接続服务器service sshd restart[c:~]$ ssh 192.168.5.5

192.168.5.5:22に接続中...

接続確立されました。

に逃げるためローカル シェル、'Ctrl+Alt+]' を押します。

最終ログイン: 2016 年 12 月 27 日火曜日 00:22:10 192.168.5.2 から

[root@leotest ~]# ssh -V

OpenSSH_7.4p1, OpenSSL 1.0.1e-fips 2013 年 2 月 11 日

7. 禁止用

telnet[root@leotest ~]# vi /etc/xinetd.d/telnet

#デフォルト: on

# 説明: Telnet サーバーは Telnet セッションを提供します。認証には

# 暗号化されていないユーザー名とパスワードのペアを使用します。

service telnet

{

= フラグ = 再利用

Socket_Type = ストリーム

待機 = いいえ

ユーザー = Root

サーバー = /usr/sbin/in.telNetd

log_failure += Userid

e

ええええ

StopXinetd

[OK] bootで自動スタート:[root@leotest〜] [root @leotest ~]# chkconfig --list xinetd

xinetd 0:off 1:off 2:off

3:off 4:off 5:off

6:off

アップグレード後に解決された問題:

Linux に Winscp ログが渡され、エラーが報告されます。解決策は次のとおりです:

[root@leotest ~]# vi /etc/ssh/sshd_config

# サブシステムなしのデフォルトをオーバーライドします

#Subsystem sftp /usr/libexec/openssh/sftp-server

Subsystem sftp external-sftp

元のファイルをコメントアウトして、次の external-sftp に変更します sshd サービスを再起動します:

service sshd restart

以上がopenssh のアップグレードの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート