本文要讲的,就是如何简化从Mac登录Linux主机的操作步骤,提高效率。所谓的“免登陆”其实是不存在的,只是说,从验证密码的登录方式,改为公私钥对的登录验证方式。使用后者的方式,每次会由ssh客户端自动发送验证信息,所以就免去了人工输入密码,看起来好像“免登陆”一样。
关于这么做的原理,大家可以自己去Google,关键词是“非对称加密”,“RSA算法”,“基于ssh密钥对的自动登录”,等等,我就不多解释了。我直接说操作步骤吧:
- 生成密钥对
- 用密码登录远程主机,将公钥拷贝过去
- done
怎么样,无敌简单吧?
生成密钥对
执行命令 ssh-keygen -t rsa
执行结果如下:
charles@mac:~ > ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/charles/.ssh/id_rsa):
Created directory ‘/Users/charles/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/charles/.ssh/id_rsa.
Your public key has been saved in /Users/charles/.ssh/id_rsa.pub.
The key fingerprint is:
c8:4b:85:87:90:7c:1a:67:b6:71:f5:51:0c:9d:a2:89 charles@TCMBP.local
The key’s randomart image is:
+–[ RSA 2048]—-+
| … .. o=.. |
| +.*o. …+ |
| Bo+o. o.. |
| …+E o |
| + S |
| . . |
| . |
| |
| |
+—————–+
注意:提示enter passphrase的时候,不要输入,因为你本来就想少打一次密码的,这里如果设置了用密码保护私钥,那登录的时候还是要输密码,就白做了。
做完这个步骤后,cd ~/.ssh,你就可以看到你刚才生成的密钥对,id_rsa是私钥,id_rsa.pub是公钥。下一步,就是把公钥拷贝到目标主机上。
将公钥拷贝到目标主机
用ssh登录到目标主机,然后cd ~/.ssh目录,如果目录不存在,那么要自己创建mkdir -p ~/.ssh。你今后要用哪个帐户登录主机,就在哪个帐户的home目录下操作,如果要免登陆root,就要去/root下操作。使用~比较好,不用多想了。
有了.ssh目录后,进去,然后把id_rsa.pub传过去,可以用scp命令,这里要做的一个主要操作,就是将id_rsa.pub,的文件内容,写到一个叫authorized_keys的文件中去,如果目标主机的相应用户名下已经有了.ssh目录和authorized_keys文件,那你操作要小心一点,可能别人也做过免登陆的设置,这个时候你要小心不要把别人的设置给覆盖了。如果没有的话,就创建文件touch ~/.ssh/authorized_keys,然后执行cat id_rsa.pub >> authorized_keys,将你的公钥写入到authorized_keys中,公钥文件.pub里面只有一行信息,上面的命令相当于把那一行信息追加到authorized_keys文件最后一行。
如果.ssh目录是你主机刚刚创建的,那么可能还需要改变一下这个目录的权限,将权限放低,chmod -R 0600 ~/.ssh,到此,所有设置就算做完了,你可以退出登录,在自己的主机上试一下了,现在再敲入ssh命令后,不用密码就可以登录主机了。
SSH服务重启命令
用/etc/init.d/sshd restart
1) ps -ef|grep ssh
若只有ssh-agent ,则ssh-server 没有启动
2) 启动ssh
/etc/init.d/sshd start
若看到ssh.d 表示ssh server 已经启动
3) config
/etc/ssh/sshd_config
default is 22
可以改成2222
相关推荐
2. **跨平台**:许多Linux远程客户端支持多平台,可以在Windows、Mac OS X以及不同版本的Linux之间使用。 3. **易用性**:用户友好的界面,使得即使是对Linux不熟悉的人也能轻松上手。 4. **多会话管理**:允许同时...
### Linux7.x巡检代码知识点解析 #### 一、脚本基本信息 - **脚本名称**:1.sh - **版本号**:V1.0 - **作者**:未填写 - **组织机构**:未填写 - **创建时间**:通过`date`命令动态获取 - **描述**:该脚本主要...
在Mac OS X环境下,你可以打开Terminal并输入以下命令,将`username`替换为你的用户名,`ip`替换为服务器的公网IP地址: ``` ssh username@ip ``` 输入密码后,你将登录到服务器。 2. **安装Apache**: 在...
VMware Host Client 支持 Windows、Mac OS 和 Linux 操作系统。确保你的客户端操作系统满足 VMware 提供的最新兼容性列表。 2. **启动与登录**: 安装 VMware Host Client 后,通过输入 ESXi 主机的 IP 地址或...
- **多平台支持**:SecureCRT支持Windows、Mac OS X和Linux等操作系统,方便不同平台间的跨平台工作。 - **多会话管理**:用户可以同时打开多个会话窗口,方便管理和切换不同的服务器连接。 - **安全性**:支持...
- **定义**:VirtualBox 是一款由 Oracle 公司开发的免费开源虚拟化软件,支持在 Windows、Linux、Mac OS X 和 Solaris 上运行。 - **功能**: - 支持多种操作系统作为客户机。 - 提供图形界面和命令行工具进行...
2. **多平台兼容**:SecureCRT不仅适用于Windows操作系统,还支持Mac OS X和Linux,使得用户能够在不同的操作系统环境下都能进行远程连接。 3. **多会话管理**:SecureCRT允许用户同时打开多个终端窗口,每个窗口...
SecureCRT是一款强大的终端模拟器软件,尤其在Unix、Linux和VMS系统上广泛使用,它提供了安全的远程访问功能,支持SSH、Telnet等多种协议,极大地提高了IT专业人员的工作效率。本文将详述在Mac操作系统上安装...
2. **多平台兼容**:SecureCRT不仅适用于Windows操作系统,还支持Mac OS X和Linux平台,满足不同操作系统的用户需求。 3. **多会话管理**:该软件允许用户同时打开并管理多个终端会话,方便在不同主机之间快速切换...
1. **多平台支持**:SecureCRT支持Windows、Mac OS X和Linux等多个平台,满足不同用户需求。 2. **多会话管理**:用户可以在一个窗口内管理多个会话,通过标签页切换,提高工作效率。 3. **安全性**:SecureCRT支持...
1. **多平台支持**:SecureCRT可运行于Windows、Mac OS X和Linux等多种操作系统,满足不同用户的需求。 2. **多窗口会话管理**:用户可以同时打开多个会话窗口,分别连接到不同的远程主机,便于进行并发操作和对比。...
1. 多平台支持:SecureCRT可以在Windows、Mac OS X和Linux等不同操作系统上运行,满足不同用户的需求。 2. 多会话管理:用户可以同时打开多个会话窗口,方便管理多个远程连接,提高工作效率。 3. 自定义设置:用户...
- **多平台支持**:SecureCRT支持Windows、Mac OS X和Linux三大主流操作系统。 - **多会话管理**:用户可以同时打开多个会话窗口,方便切换和管理不同服务器的连接。 - **安全连接**:支持SSH1和SSH2,确保数据...
作为一款用Java编写的软件,BatchSSH具备跨平台的特性,可以在Windows、Linux、Mac OS X等多种操作系统上运行。 BatchSSH的核心功能在于其批量操作的能力。用户可以定义一组目标主机列表,这些主机可以是直接可访问...
- 多平台支持:SecureCRT不仅适用于Windows操作系统,还支持Mac OS X和Linux,满足跨平台需求。 - 多会话管理:用户可以同时打开多个终端窗口,管理不同的远程连接,方便进行多任务操作。 - 安全性:SecureCRT...
1. 多平台支持:SecureCRT支持Windows、Mac OS X和Linux等多种操作系统,满足不同用户的需求。 2. 多协议连接:它不仅支持SSH(Secure Shell)协议,还支持Telnet、Serial(串口)等传统协议,使得用户可以方便地...
- **SSH客户端获取途径**:SSH客户端软件可以在多个平台上找到,例如Windows系统的PuTTY、Linux/Mac OS自带的OpenSSH客户端等。这些工具可以从官方网站下载安装包,或者通过操作系统自带的软件包管理器(如apt-get、...
- `ping`:用于测试网络连接,通过发送ICMP回显请求到目标主机并接收回应来检查网络可达性。 - `tracert`(或`traceroute`):追踪数据包从源到目的地的路由,显示每个跃点的IP地址,有助于理解网络延迟和丢包问题...