https://segmentfault.com/a/1190000007530568 http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
// 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时不要关闭当前的连接,确认通过私钥能连接到服务器才可以关闭。
否则,一旦私钥连不上,密码连接方式又被禁用了,恐怕你就要告别你的服务器了。