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 { e ええええ StopXinetd [OK] bootで自動スタート:[root@leotest〜] [root @leotest ~]# chkconfig --list xinetd 3:off 4:off 5:off アップグレード後に解決された問題: [root@leotest ~]# vi /etc/ssh/sshd_config Subsystem sftp external-sftp 元のファイルをコメントアウトして、次の external-sftp に変更します sshd サービスを再起動します:
以上がopenssh のアップグレードの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。