首先,Debian 9 Stretch的OpenSSH(版本 SSH-2.0-OpenSSH 7.4p1 Debian-10+deb9u1) 取消了兼容SSH 1 protocol
如果你从Debian 8 Jessie 升级到Debian 9 Stretch的话,而且SSH配置文件没改,还有RSAAuthentication yes
的话
那么你systemctl status ssh
或者直接cat /var/log/auth.log | grep Deprecated
的时候
你会发现有Deprecated字样
比如:
Jan 16 12:53:57 tucano systemd[1]: Starting OpenBSD Secure Shell server...
Jan 16 12:53:57 tucano sshd[14680]: /etc/ssh/sshd_config line 33: Deprecated option RSAAuthentication
Jan 16 12:53:57 tucano sshd[14680]: /etc/ssh/sshd_config line 40: Deprecated option RhostsRSAAuthentication
Jan 16 12:53:57 tucano systemd[1]: Started OpenBSD Secure Shell server.
当然还有可能会有Deprecated option KeyRegenerationInterval
一类的
对于RSAAuthentication
还好一些,因为你(可能)会发现还有一行reprocess config line xx: Deprecated option RSAAuthentication
//这是之后版本修复的(openssh/1:7.4p1-6),因为如果Jessie升级到Stretch(保留原来的配置文件)不支持这一行的话,那么会导致升级之后无法密钥登入(openssh/1:7.4p1-5),而如果禁用了密码登入那这服务器就直接失联了
###########################################
废话(预热)讲完,来讲讲怎么以正确的姿势来XOXOXOO Lesbian 9
首先如果你升级到Debian9的话,那么提示你要保留自己的配置文件(ssh_config/sshd_config)还是安装包维护者的配置文件版本,那直接Install package Maintainer’s version就可以了,升级完成reboot之后用密码登入。
//如果原先有仔细的配置好.ssh目录以及authorized_keys文件的权限,那么就可以直接密钥登入,(Optional/可选的)注意登入之后修改/etc/ssh/sshd_config,关掉密码登入。
需要注意的一点是,Debian9的OpenSSH对于权限的配置似乎有很强硬的态度,如果你home dir下的.ssh目录以及里面的authorized_keys文件权限配置不正确的话,根本不会鸟他。
登入之后首先
chmod 755 .ssh
chmod 644 .ssh/authorized_keys
//注意owner还是当前用户,不是root
(Optional/可选的)然后编辑/etc/ssh/sshd_config
找到PasswordAuthentication
和 UsePAM
取消注释并且把yes改成no
reboot
或者systemctl restart ssh
完事
###########################################
对于全新配置,创建.ssh文件夹,创建authorized_keys文件,把生成的pub文件内容复制粘贴进去或者scp上去。
权限配置就按照上面的来。
###########################################
最近点很背,要干个什么事先踩一堆bug再说
很不幸这次碰上了ssh-agent bug(
sign_and_send_pubkey: signing failed agent refused operation
然后发现这货不知道为什么被锁死了
reboot之后好了。。。。
apt update发现500多个包没更新,发现这货也是其中一个。。。。。赶紧更了了事
结果又遇上网络不稳定,USTC MIRROR速度5KB/s。。。
淦。。。。。。。。。
//附錄:
Debian bug reports log: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851573
Debian OpenSSH Server commit log: https://anonscm.debian.org/cgit/pkg-ssh/openssh.git/commit/?id=fb87db8aa47d3508be8e5bb1d21897fa1f2eca90
#########################################################
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
#########################################################