参考:
windows免密码登陆linux服务器_windows免密登录linux_glory8901的博客-CSDN博客
linux设置只允许root用户免密登录_root免密登录_R★F的博客-CSDN博客
ssh是什么
SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。
对于笔者这种不擅长服务器操作的人来说,就是一个可以远程登录服务器的工具
如何使用
ssh root@127.0.0.3 //如果ssh服务器默认端口没改动的话,回车之后就可以输入密码了
ssh root@127.0.0.3 -p 2222 //服务器ssh端口改掉的话,登录的时候要指明端口 -p,这里的-p不是指的password,而是port,回车之后同样需要输入密码
echo "$ECS_SSH_KEY" > $SSH_KEY_PATH # 注意是密钥不是公钥
chmod 0600 $SSH_KEY_PATH
SSH_CMD="/bin/ssh -i $SSH_KEY_PATH -l $SSH_USER -p $SSH_PORT -oStrictHostKeyChecking=no $DEV_SERVER"
免密码登录 使用密匙(shi)登录的原理
客户端有一对密匙(shi),包括公匙,私匙,需要先把公匙存储到服务器。然后下次客户端登录的时候就发送一段用密匙加密的文本,服务器用公匙解密,成功则直接登录,失败则登录不成功
如何配置
如果客户端还没有密匙的话,需要先生成一下
ssh-keygen -t rsa
然后一路回车就可以了
ssh-copy-id -i ~/.ssh/id_rsa.pub root@127.0.0.3 // 把公匙存储到服务器上
下次就可以直接登录,不需要密码了
ssh root@127.0.0.3
ssh-copy-id 命令的原理就是把客户端生成在$HOME/.ssh/id_rsa.pub里面的文本复制到服务器$HOME/.ssh/authorized_keys中,当然你直接复制也是一样的,不过就怕少了一个字符,就很难发现错误了
不过有时候服务器是没有authorized_keys这个文件的,需要新建一个,但是记住,一定要给这个文件设置权限
chmod 600 authorized_keys
好了,现在我们可以使用ssh root@127.0.0.3无须密码登录了。
备注:需要修改ssh配置文件"/etc/ssh/sshd_config"的下列内容,才能免费登录:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
StrictModes no
难道需要我们每次都记住ip吗?
当然不是啦
免账号登录
在~/.ssh/sshd_config(如果没有可以新增一个)中,这些都可以配置的
配置格式如下
Host ddz
HostName 120.76.251.39
Port 22
User root
IdentityFile /Users/zhangran/.ssh/id_rsa
一看这个配置就很明白吧。
好了,终于可以这样子登录了
ssh ddz