服务器免密登录以及SecureCRT免密登录

来源:互联网 发布:网络安全技术重要 编辑:程序博客网 时间:2024/05/22 00:19

ssh免密登录原理:

ssh免密登录使用公钥私钥密钥对的形式对客户端服务器进行验证

核心原则:公钥加密的信息,只有私钥能解密,详情百度rsa算法

tips:也有私钥加密,公钥解密的加密算法,实际应用是消息签名(https第三方信任机构)

具体交互过程是,服务端随机生成字符串使用公钥加密之后发送给客户端服务器,客户端服务器使用私钥解密出明文发送给服务端进行验证,若相等则成功建立连接


1、SecureCRT免密登录:

打开SecureCRT工具--tools--create public key,选择算法按照步骤创建公钥私钥,登录linux系统

cd ~
查看用户目录下有没有.ssh文件夹,没有则新建

mkdir .ssh
进入.ssh文件夹查看有没有authorized_keys文件,没有则新建

touch authorized_keys
打开刚刚工具生成的id_rsa.pub文件,将里面的内容拷贝到authorized_keys文件中

在linux中执行

service sshd restart
打开secureCRT新建连接--SSH2




在图示位置选择刚刚生成密钥对的私钥,点击ok,然后即可连接(第一次登陆可能要验证一次你输入的短语,照之前的短语再输入一次即可)

2、服务器免密登录

未安装ssh的先安装一下

登录A服务器用户a

ssh-keygen -t rsa
连续3个回车在用户目录下的.ssh文件夹中会生成id_rsa(私钥),id_rsa.pub(公钥),查看id_rsa.pub

cat id_rsa.pub
登录B服务器用户b,将id_rsa.pub中的内容拷贝到B服务器~/.ssh/authorized_keys文件中(追加)

在B服务器中编辑sshd_config配置文件

vi /etc/ssh/sshd_config

确保 

PubkeyAuthentication yes

AuthorizedKeysFile  .ssh/authorized_keys

RSAAuthentication yes

需要的话可以打开

PermitRootLogin yes

tips:这里还可以配置AllowUsers,严格控制可ssh登录的用户

使用b用户配置权限

chmod 700 ~/.ssh/chmod 600 ~/.ssh/authorized_keys
注意这里的权限要求是严格的,不能高也不能低

在B服务器中重启ssh,加载配置文件

service sshd restart

最后,登录A服务器用户a远程连接B服务器下的b用户

ssh -vv b@172.194.4.18
-vv可以打印A服务连接日志,

B服务器的日志在/var/log/secure或者/var/log/message下可以查看,连接失败可以查看这两个部分的日志排查

tips:

b@172.194.4.18
b可以缺省,但是最好不要,缺省就必须a和b的用户名一模一样才能登陆,这个坑坑死我了


原创粉丝点击