标签 Linux 下的文章

确保当前登陆账号为root或是其他管理员账户

cd ~ && mkdir .ssh
#新建.ssh以存放密钥文件
chmod 700 .ssh && cd .ssh
#修改.ssh目录权限为700,并进入目录
ssh-keygen -t rsa -b 4096
#生成一对4096位的私钥与公钥
#Enter file in which to save the key (/root/.ssh/id_rsa):(回车)
#Enter passphrase (empty for no passphrase): (此处可输入你要的密钥密码,也可以不输)
#Enter same passphrase again: (重复一遍上面的密码)
#Your identification has been saved in id_rsa.
#Your public key has been saved in id_rsa.pub.
#-----------
cat id_rsa.pub > authorized_keys && chmod 600 authorized_keys
#把公钥文件复制成authorized_keys文件
cp -n /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#这步是把原sshd配置备份为.bak,以防修改错误
nano /etc/ssh/sshd_config
#使用编辑器进入ssh的配置文件,调整参数(nano编辑器对小白更友好)
#查找并修改以下参数
#RSAAuthentication yes   -> RSAAuthentication yes
PubkeyAuthentication yes -> PubkeyAuthentication yes   //允许使用公钥验证登录
#找到上面这两个项,把各自行头的#去掉,如果行尾的值是no则改成yes

修改完毕后,退出nano编辑模式,Ctrl + X,按Y保存,再回车Enter确认

systemctl restart sshd
#重启sshd服务,以启用sshd的密钥验证登录方式

!> 以上操作完成后,最好先尝试使用密钥文件(id_rsa)登录,确认无误再修改为仅密钥登录

确认无误后,再重新编辑sshd_config,修改以下配置

PasswordAuthentication yes -> PasswordAuthentication no   //禁止使用密码口令登录
#(把行头#去掉,如果没有就不用管)把yes改成no

修改完毕后,退出nano编辑模式,Ctrl + X,按Y保存,再回车Enter确认

一键修改sshd_config命令

sed -i 's/^#RSAAuthentication.*/RSAAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/^#PubkeyAuthentication.*/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/^PasswordAuthentication.*/PasswordAuthentication no/g' /etc/ssh/sshd_config

使用WinSCP之类的文件管理器,通过SFTP协议,输入账号密码登陆上去,链接到"/root/.ssh"目录,把目录内的3个文件全部拖到本地目录。

然后在WinSCP新建一个会话,窗口左下角“工具-运行PuTTYgen”,点击新的窗口的顶栏的“Conversions-Import key”,选择你刚刚保存的id_rsa文件(不带.pub后缀的),点Save private key,保存到你存放密钥的目录,保管好,这将是你唯一的登陆Linux的方式。

使用你的ssh管理软件,修改ssh的连接登录方式,选择 使用密钥验证,然后选择你刚刚保存的private.ppk文件,保存。

尝试一下登陆,如果提示登陆成功,即可以重启sshd服务以执行禁用密码登录、允许使用密钥登陆。

systemctl restart sshd
#重启sshd服务,执行完毕即可使用密钥进行登陆

本教程基于Online.net的€2.99独立服务器,通过 odhcp6 配置 IPv6,并实现可连接。
系统环境:Debian/Ubuntu (经测试官方CentOS7.7系统也可实现)

1. 获取IPv6地址

登录控制台后,打开 https://console.online.net/en/network/
获取IPv6地址页面
图中所需的信息是IPv6 Block和DUID,记录下来下面步骤需要用到
如果你只有一台服务器,那么直接用这第一个地址就可以了;如果有多台就去 Create subnet 新建 IPv6 段了,再用新的地址就可以了。
√> 如果没有IPv6地址,可以在当前页面免费创建

2. 服务器配置IPv6

2.1. 安装所需依赖

根据自己的系统选择相应的命令

apt-get -y install wget cmake make gcc unzip     //Debian、Ubuntu
yum -y install wget cmake make gcc unzip         //CentOS

安装odhcp6

wget https://github.com/sbyx/odhcp6c/archive/master.zip -O odhcp6c.zip
unzip odhcp6c.zip
cd odhcp6c-master
cmake .
make
make install

2.2. 启用IPv6

首先检测IP地址信息

ip addr

检测IP信息
如图,大多数默认情况网卡口是eth0,inet是IPv4地址,inet6是IPv6地址(fe80开头的是本地IPV6单播地址,不影响)。
然后执行

odhcp6c -P 掩码不带斜杠 -c IPv6子网的DUID eth0 -d
ip -6 a a IPv6子网地址 dev eth0          //其中"IPv6地址"要加上如"/48"的掩码位
ip -6 r a IPv6子网地址 dev eth0

大体到这一步就完成了,可以通过 ping6 google.com ,看是否正确响应。

3. 添加自启动(可选)

i> Ubuntu下该步骤仅适用于 18.04 版本之前
执行以下命令,修改rc.local文件

vim /etc/rc.local

在 exit 0 的前面将如下的命令添加进去,保存即可实现开机自启。

odhcp6c -P 掩码不带斜杠 -c IPv6子网的DUID eth0 -d
ip -6 a a IPv6子网地址/56 dev eth0
ip -6 r a IPv6子网地址/56 dev eth0