安装openssh 9.3p2(远程安装时,为防出错导致无法连接,先安装telnet)
1.将openssh9.3安装包解压
tar -zxf openssh-9.3p2.tar.gz && cd openssh-9.3p2
2.备份配置文件
cp /etc/ssh/sshd_config sshd_config.backup
cp /etc/pam.d/sshd sshd.backup
3.编译配置
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam
4.卸载旧版本(上面没报错时再执行)
rpm -e --nodeps `rpm -qa | grep openssh`
5.编译安装
make && make install
6.调整文件权限
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
7.复制配置文件
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd
8.还原之前备份的配置文件
rm /etc/ssh/sshd_config -f && rm /etc/pam.d/sshd -f
cp sshd_config.backup /etc/ssh/sshd_config && cp sshd.backup /etc/pam.d/sshd
9.设置root用户可以远程登陆
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config
10.设置开机自动启动
chkconfig --add sshd
chkconfig sshd on
11.重启ssh
systemctl restart sshd
# 如果启动时卡住,执行下面命令
rm -f /usr/lib/systemd/system/sshd.service
systemctl enable sshd
systemctl restart sshd.service
12.验证
ssh -V
安装telnet
yum install xinetd telnet-server -y telnet
echo "pts/0" >> /etc/securetty
echo "pts/1" >> /etc/securetty
systemctl start telnet.socket
systemctl start xinetd
安装centos-release
rpm -qi centos-release
cd /etc/yum.repos.d/
cp centos7-aliyun.repo centos7-aliyun.repobak
sed -i 's/$releasever/7/g' /etc/yum.repos.d/centos7-aliyun.repo
yum install centos-release -y
mv /etc/yum.repos.d/C*.* /etc/yum.repos.d/bak/
rm centos7-aliyun.repo -f && mv centos7-aliyun.repobak centos7-aliyun.repo
安装gcc等依赖 gcc -v查看
rm -rf /var/lib/rpm/_db* && rpm --rebuilddb && yum clean all && yum install openssl-devel zlib-devel perl gcc pam-devel -y
python报错之paramiko.ssh_exception.SSHException: EOF during negotiation解决办法
# 查找sftp-server的位置 find / -name sftp-server
# 查看/etc/ssh/sshd_config中 Subsystem sftp /usr/libexec/sftp-server
# 如不同,将sshd_config中路径修改为一致的。
sed -i 's/openssh\/sftp-server/sftp-server/g' /etc/ssh/sshd_config