计算机免密码登录命令,Mac 电脑下最新实用ssh免密码登陆脚本

8f3d859b0e2b583418f02946ba3cd319.png

description: 使用SecureCRT痛苦以后的崛起git

mac 系统上我一直少有发现一款好用的 ssh 工具, 免去我记住多个密码的烦恼.github

通过大量时间的寻找, 我发现了一款名为 SecureCRT 的工具, 能够在 mac 系统上使用, 的确能够免除我记住大量密码的烦恼, 可是使用的痛苦也随之而来.shell

不存在清理屏幕的快捷键 常常登陆服务器进行测试环境的日志查阅, 这个时候, 界面上停留的可能有进入多少级目录, 而后打了什么命令, 已经其余不少可有可无的东西在上面. 这个时候清理屏幕就显的很重要, 可是 CRT 不支持. 只能傻傻的经过工具栏上方的按钮去清除屏幕.

vim 以后不能滚轮滑动 文字已经很能说明问题了, 我就很少赘述.

我本身的 Iterm2 上操做的很开心, 不能用他我就不开心 这一点尤其重要.

基于以上三个问题, 我决定翻出去年写的那个已经不能用的脚原本搞好他.vim

以前的脚本存在几个问题bash

不能展现出来列表 我目前存了多少个服务器, 我记不住, 也不能展现出来

好端端的坏了 进入服务器以后, 啥也不能干.

经过网上苦苦的搜索, 我找到一个朋友写的一个东西很是棒. fork 了他的项目, 改编了一下, 使其能更好的适用于个人电脑. 此处感谢 AlicFeng 的文章给个人帮助, 此处是github 地址.服务器

首先说说为何要重写ssh

电脑上下载的时候老是提示须要管理员的权限, 可是已经使用了, 不厌其烦

废了好多功夫弄到本地以后, 感受不是太会用. 这一点很尴尬.

简书评论区 2 楼回复的很好, 在此引用一下

-s 登陆的时候,后面的编号并非 ini 文件中的 Index 项,而是取决于 shell 过滤出来的 ini 文件顺序工具

基于上面 3 点功能, 打算小小的改造一下.测试

首先解决重点解决第三个问题. AlicFeng 以前使用的是集合, 顺序得不到保证. 所以, 我在想, 是否是能够用 Map 类型来存储. 通过查阅资料, 发现 Map 数据类型和 bash 相关, mac 下的 bash 是 3.x, 可是 Map 数据类型必需要 4.x 以上. 因而乎, 须要升级个 bash.ui

方法一: 更换系统的 bash, 须要重启电脑

mac 升级 bash 以前须要关闭 SIP(System Integrity Protection). 网上有不少文章关于如何操做, 先简单介绍一下, 不清楚的能够去查阅资料. 首先重启电脑, 并按住 command+r 键, 进入恢复模式.

进入恢复模式的系统以后, 打开上方工具栏中"实用工具"下的"终端".

在终端中输入 csrutil disable

复制代码

成功以后, 重启电脑.

这个时候就能够升级 bash 了.

打开 iterm2, 输入命令 brew install bash

复制代码

升级成功以后输入以下命令 # 替换bash

sudo mv /bin/bash /bin/bash.origin

sudo ln -s /usr/local/opt/bash/bin/bash /bin/bash

# 因为本mac版本下的sh并非直接连接bash,而是bash的一个文件拷贝。所以,还要替换默认的sh指向的命令为bash,以下:

sudo mv /bin/sh /bin/sh.origin

sudo ln -s /usr/local/opt/bash/bin/bash /bin/sh

复制代码

这个时候能够经过命令来查看是否成功 bash --version

复制代码

安装以后, 就能够重启电脑, 把 SIP 给启动. 一样进入恢复模式下输入 csrutil enable

复制代码

而后重启电脑.

方法二: 直接下载新的 bash, 无需重启电脑

打开 iterm2, 输入命令 brew install bash

复制代码

这个时候须要把下载下来的 lucy 脚本的 "开头"部分, 加上一小段说明 #!/usr/local/bin/bash复制代码

表示使用咱们当前下载下来的 bash, 而不是系统目录下面的 bash

仍是打开 iterm2, 这个时候, 安装一个小插件, 让界面更漂亮

brew install toilet

复制代码

安装好以后, 就进入了正文.

首先介绍下, 文件路径.

首先到~目录下, 建立一个文件夹

mkdir ssh-lucy

复制代码

建立一个 servers 的文件. (无后缀).

文件中内容放入如下东西

#服务器IP 帐号 密码 端口 主机

复制代码

实际最后放入的东西内容以下图所示

71a5378d9285f064dfe2fb61f0af9b3b.png

最后的主机一列, 存放的是咱们用于寻找登陆哪一个服务器的名称, 也就是咱们存入 Map 中的 key, 能够自定义.

存好服务器地址以后, 就可使用咱们真正的脚本.

服务器脚本最后保留一个空行.

我给她起了一个很是人性化的名字, 也是我心心念念的名字"lucy"([人类的始祖](

从 gayhub 上下载文件"lucy"以后, 放入本地的

/usr/local/bin

复制代码

目录.

修改文件中的第十行内容"目录"为 servers 存在的绝对路径.

而后赋予这个文件生命

chmod +x lucy

复制代码

此刻大公告成.

此刻存在的命令以下, 延续了 AlicFeng 以前的命名

// l表示list, 表示查看列表(不包含密码)

lucy -l

// h表示help, 表示帮助

lucy -h

// s 表示ssh, 也就是平时咱们使用的登录方式

lucy -s 主机名

// p表示password, 展现包含密码的查看列表

lucy -p

复制代码

效果以下:

2985559f0d476040832461108739b3b9.png

b5747811f6e0596a9756f6c9f74330c7.png 若是您使用了这个小脚本, 但愿能够保留 lucy 的名字, 让咱们给他一个生命的延续.

b9044c2d02a6f6585052801276fdaa2e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个简单的 Linux 密码 SSH 登录脚本: 1. 首先,需要在本地生成 SSH 密钥对。可以使用以下命令ssh-keygen -t rsa 2. 然后,将公钥复制到远程服务器上。可以使用以下命令ssh-copy-id user@remote_host 3. 接下来,可以创建一个脚本,以便在本地登录到 ### 回答2: Linux密码SSH登录脚本是一种非常方便和高效的工具,可以帮助用户在使用SSH连接时省去输入密码的环节,提高了工作效率。 在使用最初,需要确保使用的系统中已经安装了SSH服务,并且切换到需要连接的远程服务器的账户下。接下来可以使用如下命令创建ssh key: ssh-keygen -t rsa 在使用该命令时,需要带上-t参数指定使用RSA算法生成密钥。在命令执行完成后,会提示用户输入密钥保存文件的名称,默认的文件名为id_rsa,如果需要另存为其他文件名,可以根据需要进行修改。用户需要注意将保存的密钥对文件进行妥善保存,尽可能避因丢失密钥对文件而导致SSH连接无法使用的情况。 接下来可以使用如下命令将生成的公钥复制到要连接的服务器中: ssh-copy-id user@remote_host 在该命令中,user代表远程服务器的用户名,remote_host代表需要连接的远程主机的IP地址或域名。用户需要在终端中输入远程服务器的密码以完成公钥的复制。复制完成后,用户可以通过如下命令来测试是否成功连接远程主机: ssh user@remote_host 在这个示例中,user是远程服务器的用户名,remote_host是要连接的远程主机的IP地址或域名。如果连接成功,用户就可以使用该用户名和登录的方式进入到远程服务器中进行操作。 当然,在使用SSH密码登录工具时,需要注意保持密钥安全,尽可能避密钥泄露,避被窃取或篡改造成安全风险。在使用SSH登录时,建议用户设置强密码,并避在公共网络的不安全环境中使用SSH,以保证自己的网络安全。 ### 回答3: 在Linux系统中,SSH(Secure Shell)是一种安全的网络协议,它允许在各种网络上安全地传输数据和执行命令。通常,使用SSH登录到远程服务器需要输入用户名和密码,但是如果你需要经常登录远程服务器,每次都需要输入密码,那么就会变得非常繁琐。为了解决这个问题,你可以使用密码SSH登录脚本。 下面是一些步骤,可以帮助你设置密码SSH登录脚本: 1.生成本地密钥对 首先,需要在你的本地机器上生成一个密钥对。使用以下命令生成密钥对: $ ssh-keygen 当你运行此命令时,你将被要求为密钥对命名并设置一个密码。如果你留空密码,那么在使用密钥时,你将不需要输入密码。 2.将公共密钥复制到远程主机 复制你的公钥到远程主机。可以使用以下命令将公钥复制到远程主机: $ ssh-copy-id user@remote_host 当你完成时,应该能够使用SSH连接到远程主机,而不需要输入密码。 3.编写SSH登录脚本 要编写SSH登录脚本,请打开一个新文件并输入以下命令: #!/bin/bash ssh user@remote_host 保存文件并将其命名为“ssh-login.sh”。如果你输入此命令并保存文件后,运行此脚本将自动连接到远程主机,而不需要输入密码。 4.添加脚本到系统启动项 如果你希望该脚本在系统启动时自动运行,可以将其添加到系统启动项中。为此,请打开“/etc/rc.local”文件,并在文件中添加以下行: #!/bin/bash /home/user/ssh-login.sh 替换“/home/user/ssh-login.sh”为你的实际脚本位置。当你保存文件并重启系统时,该脚本将自动启动,并且你将可以远程连接到主机,而不需要输入密码。 总结:使用密码SSH登录脚本可以使你在多次登录远程服务器时变得更加方便。只需要生成本地密钥对、将公钥复制到远程主机、编写SSH登录脚本和添加脚本到系统启动项即可。如果你遵循上述步骤,你将可以密码登录到远程服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值