第一步:生成密钥。在终端下执行命令:

  1. ssh-keygen -t rsa

一路回车,各种提示按默认不要改,等待执行完毕。然后执行:

  1. ls ~/.ssh
  2. #可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)

第二步:放置公钥到Linux服务器。使用scp命令:

  1. scp ~/.ssh/id_rsa.pub cssor@cssor.com:/home/cssor/.ssh/

然后把id_rsa.pub的内容加入到服务器端的默认验证文件authorized_keys,执行:

  1. #先登录到远程服务器
  2. cd ~/.ssh
  3. cat -n /home/cssor/.ssh/id_rsa.pub >> authorized_keys #将公钥内容加入到authorized_keys文件,没有则新建一个就行

第三步:配置本地ssh config文件。执行:

  1. vi ~/.ssh/config

加入以下内容:

  1. Host cssor_server #别名,域名缩写
  2. HostName cssor.com #完整的域名
  3. User cssor #登录该域名使用的账号名
  4. PreferredAuthentications publickey #有些情况或许需要加入此句,优先验证类型ssh
  5. IdentityFile ~/.ssh/id_rsa #私钥文件的路径

经过以上操作以后,已经大功告成,感谢一同事帮忙,虽然他用的是Ubuntu系统。
使用ssh cssor_server或ssh cssor.com就可以直接登录到远程服务器了。并且如果git服务器也是搭建在同一个Linux主机上,本地执行git pull等也不需要密码再次登录了。

以上比较要注意的是: 公钥要放在登录服务器所用的账号的家目录下,比如你用 abc登录远程服务器,就要把公钥 放到 /home/abc/.ssh/下, authorized_keys文件也是在这个目录下。我曾因为放错账号目录,导致失败。

附ssh config一个资料:http://nerderati.com/2011/03/simplify-your-life-with-an-ssh-config-file/

http://cssor.com/mac-ssh-auto-login-server.html

[linx学习篇] ssh远程服务器免密码的更多相关文章

  1. Linux上SSH登录远程服务器免密码

    在本地的客户端SSH到远程服务端时,每次都要输入用户名和密码,如果不想每次都输入密码则可以使用以下操作. 首先在本地的客户端输入 ssh-keygen [keysystem@localhost ~]$ ...

  2. 使用ssh公钥实现免密码登录

    使用ssh公钥实现免密码登录 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(10.207.160.34),B(10 ...

  3. java ssh远程服务器并执行多条shell命令

    java ssh远程服务器并执行多条命令 import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...

  4. ssh key一键自动化生成公钥私钥,并自动分发上百服务器免密码交互

    题记:由于工作需要管理大量服务器,所以需要配公钥实现免密登录. ssh批量分发可以一键执行这个操作,但是使用ssh分发服务还需要对各个服务器进行.ssh/id_dsa.pub公钥上传,密码验证.所以需 ...

  5. 集群ssh服务和免密码登录的配置

    安装Hadoop之前,由于集群中大量主机进行分布式计算需要相互进行数据通信,服务器之间的连接需要通过ssh来进行,所以要安装ssh服务,默认情况下通过ssh登录服务器需要输入用户名和密码进行连接,如果 ...

  6. Linux ssh下实现免密码登录

    1.Linux 生成密钥 ssh-keygen -t rsa 进入“.ssh”会生成以下几个文件 id_rsa : 生成的私钥文件 id_rsa.pub : 生成的公钥文件 know_hosts : ...

  7. 定期批量修改远程服务器root密码

    一.背景 很多时候运维或安全工作人员需要维护大量的服务器,其中就包括判断是否存在root弱口令, 如果服务器数量很多一一修改的话的确是要好花费不少时间精力的.如果通过脚本来实现密码更改, 再做一个定期 ...

  8. ssh远程服务器

    使用用户名密码登录 在命令行中输入命令: ssh username@ip_address -p port 之后系统会提示输入密码,输入后即可登录 如果不添加-p选项,则默认是22端口 还可以使用-l选 ...

  9. SSH使用密钥免密码登录

    使用ssh远程连接服务器,有两种身份校验方式:账号密码和秘钥.使用秘钥的方式理论上更加安全,而且免去了输入密码的步骤,使用起来更方便(尤其对于sftp,scp等). 设置 SSH,打开密钥登录功能 编 ...

随机推荐

  1. 使Win10用户获得特殊权限以便删除相应文件(夹)

    依次访问: 本地用户和组(右击“此电脑”): 用户: 右击:当前用户名: 属性: 添加: 输入:System Managed Accounts Group: 检查名称(可选): 确定: 重启电脑. 参 ...

  2. Android(java)学习笔记128:xml文件生成

    1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...

  3. [opencv] applyColorMap

    applyColorMap 功能 转化为热力图,因为热力图我们看的变化更加细微,在很多地方都用到了热力图. 最近在看CAM,所以记一记这个函数. 感觉还是很有用的. 代码 >>> i ...

  4. [视觉识别]OpenCV + CNN 大神符识别

    数据集 Mnist数据集:http://yann.lecun.com/exdb/mnist/ 训练 import numpy as np from keras.datasets import mnis ...

  5. Windows环境下使用Apache+mod

    1.安装Python和Apache. 2.安装mod_wsgi后获得wsgi.so,并将wsgi.so放到Apache的modules文件夹下. 3.安装webpy. 4.打开httpd.conf(在 ...

  6. WINDOWS-API:关于线程CreateThread,_beginthead(_beginthreadex),AfxBeginThread

    [转]windows多线程编程CreateThread,_beginthead(_beginthreadex)和AfxBeginThread的区别 在Windows的多线程编程中,创建线程的函数主要有 ...

  7. 安装 Win7 的系统的时候如何分区

    解决方案 在安装Win7的系统的时候,可以使用下面方法进行分区: 1. 在出现同意许可条款,勾选“我接受许可条款(A)”后,点击下一步,然后继续下面操作: 2. 进入分区界面,点击“驱动器选项(高级) ...

  8. 如何在 JavaScript 中更好地使用数组

    使用 Array.includes 替代 Array.indexOf “如果需要在数组中查找某个元素,请使用 Array.indexOf.” 我记得在我学习 JavaScript 的课程中有类似的这么 ...

  9. javascript (六)DOM

    学习后的总结: DOM:document object model 关于DOM的简介:http://www.w3school.com.cn/htmldom/dom_intro.asp 本文说的是HTM ...

  10. 使用powershell批量更新git仓库

    Get-ChildItem D:\GitHub\NetCore | ForEach-Object -Process{ cd $_.name; git pull; cd ../ }