正在加载中……
最新消息:欢迎大家访问,导航分类不完善,如果找不到自己想要的文章,可以通过【关键词】来进行搜索,^_^!

Linux设置SSH(winscp)的证书登陆

Linux专题 REKFAN.COM 8175浏览 0评论

更多


1、Linux下生成密钥
登录需要使用证书登录的账户后运行:
# su - root
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/root/.ssh/id_rsa):  使用默认路径
Created directory '/home/root/.ssh'.
Enter passphrase (empty for no passphrase): 输入密码:123456 (如果输入为空,则可以实现无密码访问)
Enter same passphrase again: 输入密码:123456
Your identification has been saved in /home/root/.ssh/id_rsa.
Your public key has been saved in /home/root/.ssh/id_rsa.pub.
The key fingerprint is:
c0:e4:f2:03:c6:2c:86:0d:2b:1b:bc:ca:4c:d6:c6:14

按照提示设置口令之后,即在/root/.ssh/中生成公钥和私钥:id_rsa.pub  id_rsa

2、把公钥信息写入authorized_keys文档中
# cd ~/.ssh (进入密钥存放目录)
# cat id_rsa.pub >> authorized_keys(将生成的公钥文件写入authorized_keys文件)
# chmod 400 authorized_keys (将authorized_keys文件的权限设置为400)
 
3、把id_rsa文件拷贝到客户端
将id_rsa文件拷贝到需要登录服务器的客户端,请妥善保存。为了安全可以把服务器上的id_rsa和id_rsa.pub删除。
 
4、配置/etc/ssh/sshd_config  
vi /etc/ssh/sshd_config
去除下面三行前得注视符号:#
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

参数含义:
Protocol 2 (仅使用SSH2)  
PermitRootLogin yes (允许root用户使用SSH登陆,根据登录账户设置)
ServerKeyBits 1024 (将serverkey的强度改为1024)
PasswordAuthentication no (不允许使用密码方式登陆)
PermitEmptyPasswords no (禁止空密码进行登陆)
RSAAuthentication yes(启用 RSA 认证)
PubkeyAuthentication yes(启用公钥认证)
AuthorizedKeysFile   .ssh/authorized_keys  
StrictModes yes改成StrictModes no (如果StrictModes为yes必需保证存放公钥的 文件夹的拥有者与登陆用户名是相同的)

 
5、重启sshd
service sshd restart
 
6、Linux系统下ssh命令行,证书登陆
Linux系统下ssh命令行,证书登陆
ssh -i /root/.ssh/key.txt 地址           
其中/root/.ssh/key.txt为密钥地址,-i代表使用本地密钥
之后提示输入:Enter passphrase for key '/root/.ssh/key.txt':  (如果输入为空,则可以实现无密码访问)

备注:
当使用ssh-add 添加新的内容,提示如下错误时:
Could not open a connection to your authentication agent.
可以通过先运行如下命令:
ssh-agent bash
再重新添加
ssh-add

转载请注明:|REKFAN|系统运维| » Linux设置SSH(winscp)的证书登陆

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址