CentOS6和centos7系统中SSH使用证书登录
[ 2021-03-15 13:49:19 | 作者: admin ]
p.s.操作是比较简单,不过一旦开启证书登录必然会禁止密码登录。所以一定要保管好私钥证书,放U盘里面弄丢就傻了
1. 生成用于SSH的公钥和私钥(本例用户为sftpuser)
会提示输入:密钥存放位置(直接回车,默认在/home/sftpuser/.ssh/)、密码短语、重复密码短语。
完成后在/home/sftpuser/.ssh/目录下生成了2个文件:id_rsa为私钥,id_rsa.pub为公钥。
2. 服务器端导入公钥
这里用追加不直接替换,如果不存在authorized_keys新建立一个,这里可以指定authorized_keys就是公钥的合集
3. 设置正确的文件和文件夹权限
开启SELinux时,还需要执行(root用户把/home改成/root)
4. 修改SSH配置文件,支持使用证书登录(需要root权限)
查找RSAAuthentication、StrictModes、PubkeyAuthentication、AuthorizedKeysFile把所在行修改为:
重启SSH服务
5. Windows客户端配置Putty使用证书登录
5.1 制作用于Putty的私钥
下载id_rsa到本地;
运行PuTTY Key Generator;
点击File – Load private key(All Files *.*),导入id_rsa文件;
点击Save private key按钮,命名并生成ppk文件,比如ifshow.ppk。
这个ppk文件就是用于Putty的私钥。
5.2 设置putty实现用证书登录
Putty→Session:输入Host Name 或者 IP Address;
Putty→Connection→Data:输入Auto-login username(自动登陆用户名);
Putty→Connection→SSH→Auth:在Private key file for authentication选择私钥文件;
Putty→Session:Saved Session:输入某个名称保存,以后直接双击该名称就可登录。
也可以用带参数的快捷方式执行证书登录,比如:
6. CentOS 7客户端使用证书登录
ssh命令
scp命令
也可以把私钥写入客户端本地SSH配置文件,省去每次手动指定私钥:
在配置文件中加入:
重启SSH服务
7. 服务器修改SSH配置文件,禁止使用密码登录,只允许证书登录
本操作需要root权限。只有在证书登录没有问题才能禁止密码登录,否则不是云主机就只能去机房了。
看上去是免密登录了,但是证书一般会设置一个密码,所以还是需要输入一次私钥证书密码
查找PasswordAuthentication yes修改为:
重启SSH服务
文章来自: http://my.oschina.net/liting/blog/600098
1. 生成用于SSH的公钥和私钥(本例用户为sftpuser)
ssh-keygen -t rsa
会提示输入:密钥存放位置(直接回车,默认在/home/sftpuser/.ssh/)、密码短语、重复密码短语。
完成后在/home/sftpuser/.ssh/目录下生成了2个文件:id_rsa为私钥,id_rsa.pub为公钥。
2. 服务器端导入公钥
这里用追加不直接替换,如果不存在authorized_keys新建立一个,这里可以指定authorized_keys就是公钥的合集
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3. 设置正确的文件和文件夹权限
chown -R 0700 ~/.ssh
chown -R 0644 ~/.ssh/authorized_keys
chown -R sftpuser:sftpuser /home/sftpuser
chown -R 0644 ~/.ssh/authorized_keys
chown -R sftpuser:sftpuser /home/sftpuser
开启SELinux时,还需要执行(root用户把/home改成/root)
restorecon -R -v /home
4. 修改SSH配置文件,支持使用证书登录(需要root权限)
vi /etc/ssh/sshd_config
查找RSAAuthentication、StrictModes、PubkeyAuthentication、AuthorizedKeysFile把所在行修改为:
RSAAuthentication yes
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys #指定验证文件路径
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys #指定验证文件路径
重启SSH服务
systemctl restart sshd.service #centos6用service sshd restart
5. Windows客户端配置Putty使用证书登录
5.1 制作用于Putty的私钥
下载id_rsa到本地;
运行PuTTY Key Generator;
点击File – Load private key(All Files *.*),导入id_rsa文件;
点击Save private key按钮,命名并生成ppk文件,比如ifshow.ppk。
这个ppk文件就是用于Putty的私钥。
5.2 设置putty实现用证书登录
Putty→Session:输入Host Name 或者 IP Address;
Putty→Connection→Data:输入Auto-login username(自动登陆用户名);
Putty→Connection→SSH→Auth:在Private key file for authentication选择私钥文件;
Putty→Session:Saved Session:输入某个名称保存,以后直接双击该名称就可登录。
也可以用带参数的快捷方式执行证书登录,比如:
"D:\PUTTY\PUTTY.EXE" -i "D:\key\ifshow.ppk" ifshow@xxx.xxx.xxx.xxx
6. CentOS 7客户端使用证书登录
ssh命令
ssh -i ~/.ssh/id_rsa remote_username@remote_ip
scp命令
scp -i ~/.ssh/id_rsa local_file remote_username@remote_ip:remote_file
也可以把私钥写入客户端本地SSH配置文件,省去每次手动指定私钥:
vi /etc/ssh/sshd_config
在配置文件中加入:
IdentityFile ~/.ssh/id_rsa
重启SSH服务
systemctl restart sshd.service
7. 服务器修改SSH配置文件,禁止使用密码登录,只允许证书登录
本操作需要root权限。只有在证书登录没有问题才能禁止密码登录,否则不是云主机就只能去机房了。
看上去是免密登录了,但是证书一般会设置一个密码,所以还是需要输入一次私钥证书密码
vi /etc/ssh/sshd_config
查找PasswordAuthentication yes修改为:
PasswordAuthentication no
重启SSH服务
systemctl restart sshd.service 或者 /etc/rc.d/init.d/sshd restart #centos6可用service sshd restart
文章来自: http://my.oschina.net/liting/blog/600098
[最后修改由 admin, 于 2021-03-15 15:53:21]
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2775
这篇日志没有评论。
此日志不可发表评论。