最近新购入一台服务器,想搞点新东西,首先,我想实现免密码登陆(即用户口令登陆),而后,我又不想用root 登陆,因此上网查了不少资料,如今总结一些,为本身之后再瞎折腾收集一下。😄
这些都是给本身看的,看不懂不要来找我vim
一. 添加一个新用户服务器
添加一个新的用户,不然禁止 root 登陆后,服务器就登陆不了,哈哈!
建立用户命令 adduser admin
修改用户命令 passwd admin
效果以下:ssh
二. 禁止root远程登陆spa
禁止root 远程登陆很简单修改一个文件便可,文件地址为/etc/ssh/sshd_config
修改内容为 PermitRootLogin no
,若该内容被注释,先关闭注释,再修改。保存退出(注意,修改该文件须要 root 权限)
重启 sshd 服务 service sshd restart
rest
三. 设置新用户使用 ssh 口令登陆code
本块内容转自 使用SSH服务远程登陆Linux主机
第一步,在客户端主机生成密钥对,具体命令请自行搜索
第二步,修改服务器主机ssh配置文件,使其只容许密钥验证,指定公钥数据文件位置。blog
以root管理员身份修改配置文件(/etc/ssh/sshd_config)v8
vim /etc/ssh/sshd_config
PubkeyAuthentication yes //启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys //指定公钥库数据文件
第三步, 把客户端主机中生成的公钥文件传送至服务器主机。rem
[zhangsan@RedHat7-2 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub lisi@192.168.10.70 //上传公钥库文件至服务器 /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys lisi@192.168.10.70's password: //输入服务器lisi用户的密码 Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'lisi@192.168.10.70'" and check to make sure that only the key(s) you wanted were added.
[lisi@RedHat7-1 ~]$ tail -1 ~/.ssh/authorized_keys //显示公钥库文件信息 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/p8OHTUBJMKqJbxxwUiNJvKVHv8KSMywr tFB3BEsC02MyU29NKXkGUVM/lC++7b/bK1j/xVg6gJXqCHk2lNrMk/jHjvR6qR7aLYhzWlCa oDW0/Df9V9nrJNIg82DbXHUziwe6WoR9l+pzzQqYyI1Yq0iPTD4VZM5T94wRMX4taSgO8EQ umWEeGtoHX/vgklapyMaG3ncA4SBxC0G4JUHo3q2KAfJ4eECrZ9LBwVsPq+4exlzDSeXmGh aZO+VGo6Kbp7Q6ReA5U1YUbfsa9nKyAexiKxyzaGMXzBEri/aXGUpDibBWzRT4JDocF7PV wHr+sshYqt4ULdG0wj91SK+D zhangsan@RedHat7-2
[lisi@RedHat7-1 ~]$ ls -l ~/.ssh/authorized_keys //查看公钥库文件 -rw-------. 1 lisi lisi 400 5月 23 04:07 /home/lisi/.ssh/authorized_keys
注意:任何用户对公钥库文件不能有写入的权限。 get
第四步,从新启动sshd服务程序
service sshd restart
第五步,在客户端主机使用密钥对验证
这里本身使用本身命令端登陆就能够了
4、禁止其余用户使用密码登陆
此时新建的用户仍然可使用密码登陆,须要禁止使用密码登陆,只能使用口令登陆,须要禁止
注意:执行下面命令前,请确认本身可使用口令登陆,不然你退出后,就登陆不了
一样须要编辑以下文件
/etc/ssh/sshd_config
须要修改的地方为
PasswordAuthentication no #将 yes 改成 no ,若被注释,先关闭注释
重启sshd 服务
service sshd restart
到此结束