mac用iterm2 ssh 保存密码实现ssh,怎么像SecureCRT一样鍵P和账号密码

4601人阅读
Linux运维(70)
1. 在笔记本的iterm 配置
vim config
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
#1. 第一次登录一台机器需要密码
#2. 之后的每次登录同一台机器就不需要密码
command + t
3. .ssh/config 的小工具
login1.host
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 80
在iterm 终端:ssh cm4 就会登录 login1.host
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:483884次
积分:5999
积分:5999
排名:第2878名
原创:220篇
转载:17篇
评论:20条
(1)(6)(1)(21)(23)(5)(3)(6)(8)(3)(4)(2)(1)(2)(2)(1)(3)(1)(1)(2)(8)(5)(4)(3)(5)(8)(2)(1)(2)(5)(2)(4)(3)(1)(4)(2)(4)(10)(11)(2)(5)(1)(5)(8)(4)(4)(8)(16)(4)(1)(1)iTerm2和Macbook自带的Terminal差不多,但是功能更强大,强烈推荐使用。
下面说下,如何让iTerm2记住远程服务器SSH登录账号和密码。
第一步:打开Finder,在菜单栏找到『前往』→ 『前往文件夹...』,输入:~/.ssh/
第二步:新建一个文件,命名为example吧,里面写入内容:
set user 服务器账号
set host 服务器IP
set password 服务器密码
spawn ssh $user@$host
expect "*assword:*"
send "$password\r"
expect eof
第三步:到官方下载并打开iTerm2,菜单栏找到『Profiles』→『Open Profiles...』,打开面板上,点击右下角『Edit Profiles...』
第四步:在打开面板,左边应该是选中默认default,右边找到Command,默认应该是Login shell,选中Command,里面输入:expect ~/.ssh/example
第五步,下次打开iTerm2,是不是默认就登录上服务器了?极大提升效率。
按照以上方法,可以配置很多个服务器。
ChongQing
&#xe6Movie Motorcycle由于有一些场景不能使用ssh私钥来实现免登,因此需要想其它办法解决一下这个问题。
安装sshpass
试图使用homebrew安装
$ brew install sshpass
Error: No available formula for sshpass
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.
这个萌卖的好。。。。
使用homebrew强制安装
brew install
成功了。。。
wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
tar xvzf sshpass-1.05.tar.gz
./configure --prefix=/usr/local/Cellar/sshpass/1.05
sudo make install
编译安装的步骤是从brew的步骤中copy出来的,绝对可行。其中./configure 后面的prefix路径可以去掉,这样就会安装到默认目录中。
sshpass -p 'ssh_password' ssh xxx.xxx.xxx.xxx
可以看到这种方式其实还是要在命令里指定host+密码登录,还是不够方便。期待的方式是只需要指定host即可,密码神马的,能自己处理。
简单的使用方式
写一个脚本,记录一些常用的用户名与密码,通过简单的选择即可完成ssh登录。
创建一个文件sshp。
#!/bin/bash
cat &&MENU
10.101.81.238
10.101.81.238
10.101.81.238
192.168.4.151
192.168.4.151
192.168.4.151
192.168.4.2
192.168.4.2
192.168.4.2
&&& 请输入ip或序号 &&&
echo -n "Your choose:"
case "$host" in
a|10.101.81.238)
exec /usr/local/bin/sshpass -p 123456
ssh root@10.101.81.238 -p22
b|192.168.4.151)
exec /usr/local/bin/sshpass -p 'sdfsdf'
ssh root@192.168.4.151 -p22
c|192.168.4.2)
exec /usr/local/bin/sshpass -p 'wfssfs'
ssh root@192.168.4.2 -p22
echo "Error, No host"
10.101.81.238
10.101.81.238
10.101.81.238
192.168.4.151
192.168.4.151
192.168.4.151
192.168.4.2
192.168.4.2
192.168.4.2
&&& 请输入ip或序号 &&&
Your choose:a
可以看到,相比第一种方法,这种模式要简单很多。
更简单的使用方法,应该是只需要输入 sshp host,就可以完成ssh登录。
更简单的使用方式
使用一个文件存储host、password对,自行根据host匹配密码,并登录。
创建一个脚本,名为sshp,内容如下。
#!/bin/bash
RC_ERR_NO_HOST=11
RC_ERR_NO_PASSWORD=21
RC_SUCCESS=0
pass_path=~/.ssh/sshp_pass
if [ -z $host ]; then
echo "ERR_NO_HOST, please input host."
exit $RC_ERR_NO_HOST
pwd=`grep $host\
$pass_path | cut -d' ' -f 2`
if [ -z $pwd ]; then
echo "ERR_NO_PASSWORD, please record password first. file path $pass_path"
exit $RC_ERR_NO_PASSWORD
exec sshpass -p $pwd
ssh root@$host -p22
exit $RC_SUCCESS
创建一个文件 ~/.ssh/sshp_pass,存放 host 与密码数据,格式为”host password”。
10.101.81.238 123456
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:44143次
积分:1504
积分:1504
排名:第19668名
原创:93篇
转载:78篇
评论:17条
(1)(2)(6)(1)(3)(3)(4)(23)(3)(13)(17)(6)(3)(1)(2)(5)(2)(2)(7)(4)(17)(6)(14)(25)(3)如何在 OS X 下 SSH 登录服务器时,对多台服务器操作同一命令? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
如何在 OS X 下 SSH 登录服务器时,对多台服务器操作同一命令?
· 364 天前 · 1790 次点击
比如 10 台服务器,都只要执行一条简单的 service nginx restart ,操作本身简单,但是要一台台登录就累死人了,在网上找了下, Windows 下貌似可以用 X-Shell 的一个小功能实现, OS X 下有啥办法没?
26 回复 &| &直到
22:38:05 +08:00
& &364 天前 via Android
可以远程执行 shell
& &364 天前
一般这种批量操作都是机械化的步骤,是不是可以考虑用 Python 的 fabric 之类的库,做个脚本?
& &364 天前
运维工程师告诉你 SecureCRT 一条命令发送到所有标签是最简单便捷的方法。
& &364 天前 via Android
最近比较火的是 ansible ,我用过,很方便。
当然,你也可以直接用 pssh
& &364 天前 via iPhone
Fabric 可以啊
& &364 天前
cat host.list |xargs -I {} ssh USER@{} 'COMMAND'
常常有这种操作,用 pssh 吧。
& &364 天前 via iPhone
自己写个脚本呗
& &364 天前
iterm, Broadcast input, 或者运维工具 Fabric
& &364 天前
ansible 是最方便的
& &364 天前 via iPhone
& &364 天前 via iPhone
& &364 天前
昨天看见了一个 rir
& &364 天前
shell 里面的一段代码
###所有节点修改 hostname####
[root@localhost ~]# for i in `grep node /etc/hosts | awk '{print $2}'`; do ssh -o StrictHostKeyChecking=no $i &sed -i '/HOSTNAME=/d' /etc/sysconfig/echo \&HOSTNAME=$i\& &&/etc/sysconfig/network&;
& &364 天前
SSH to many hosts and broadcast input with iTerm
一个 AppleScript 搞定。
& &364 天前 via iPad
ssh root@host service nginx restart 再加个循环不就好了
& &364 天前
@ 简单有效
& &364 天前
偶尔用一下写个 shell 脚本就行, 经常执行类似任务可以用 ansible 或者 fabric
& &364 天前
ansible , fabric , saltstack 这类的 toolkit
rundeck , fit2cloud 这类的运维平台
& &364 天前
必须 ansible 啊
& &363 天前
你需要自动化运维工具。。
& &363 天前 via iPhone
你是不是搞运维的?
& &363 天前 via Android
& &363 天前
csshX 可以试试 ~_~
& &363 天前
polysh, pdsh ,pssh 等,楼主 Google 一下就明白了.
& &362 天前
难道不是……
直接 ssh username@host 'command'就行吗?
& &361 天前
@ 简单重复的事情交给 ansible 就可以了
& · & 1081 人在线 & 最高记录 2026 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.5 · 49ms · UTC 06:42 · PVG 14:42 · LAX 23:42 · JFK 02:42? Do have faith in what you're doing.}

我要回帖

更多关于 iterm2 保存ssh 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信