zjdznl
7/13/2018 - 2:37 AM

ssh key login

// ubuntu系统
service ssh restart

// debian系统
/etc/init.d/ssh restart

云服务器 ECS Linux CentOS 7 系统重启 sshd 服务不再通过 service 操作,而是通过 systemctl 操作。
如果没有启动,执行命令 systemctl start sshd.service 启动该服务。

执行命令 systemctl restart sshd.service 重启 sshd 服务。

执行命令 systemctl enable sshd.service 设置服务开机自启。

ssh-keygen -t rsa -P 123456 -f host -C 'my host key'
意思就是新建了密语为123456注释为my host key文件名为host的密钥。
此命令会生成host和host.pub两个文件,前者为私钥文件,后者为公钥文件。
如果你想免密登录的话,请将密语设置为空。

#在本机上执行此命令,上传公钥
scp -P your_port host.pub user@hostname:/tmp
#在服务器上执行此命令,追加到authorized_keys
cd /tmp && cat host.pub >> ~/.ssh/authorized_keys
#更改权限
chmod 600 ~/.ssh/authorized_keys

打开/etc/ssd/sshd_config文件,将如下的配置打开:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

ssh -p your_port username@domain -i your_private_certification

如果你想只允许服务器通过公钥和私钥的方式来连接服务器的话,
可以将服务器配置文件/etc/ssh/sshd_config中的PasswordAuthentication yes改为PasswordAuthentication No,
不过在重启sshd时不要关闭当前的连接,确认通过私钥能连接到服务器才可以关闭。
否则,一旦私钥连不上,密码连接方式又被禁用了,恐怕你就要告别你的服务器了。