因为总是用 ssh 连接需要不断的输密码,找过工具,可能是自己姿势不对,觉得不太好使。
SecureCRT 不知道是我装的不对还是别的什么原因,总是会过一会儿就连接中断。
所以用 Python 基于 expect 写了个简单的工具。
# 安装
bash build.sh ~/.zshrc
# 使用
atssh IP USERNAME PASSWORD PORT
# 首次连接
atssh 192.168.1.99 root root 22
# 再次连接
atssh 192.168.1.99
1
qfdk 2018-01-06 17:09:57 +08:00 via iPhone
确定是你姿势不对 其实在 bashrc 或者 zshrc 那边加配置能搞定
|
2
qfdk 2018-01-06 17:12:22 +08:00 via iPhone
断线的问题也可以通过 配置搞定 里面一个发送心跳包的设置 以前也是自己姿势不对……
|
3
clino 2018-01-06 17:17:17 +08:00
为什么不用 key 验证要用密码验证呢?
|
4
vinsa 2018-01-06 17:23:44 +08:00
key 登录就好了,这需求奇怪的。
|
5
chinvo 2018-01-06 17:25:34 +08:00
用 key 啊大哥
|
6
torbrowserbridge 2018-01-06 17:29:22 +08:00 via Android
。。。。。
|
7
pdfgo 2018-01-06 17:30:05 +08:00 via Android
用 key 最好,而且加个 alias 不也能搞定吗
|
8
codeeer 2018-01-06 17:31:07 +08:00 via iPhone
aws 经常不知因为啥操作 key 就不能用了
|
9
xuhaoyangx 2018-01-06 17:31:26 +08:00
ssh-copy-id
|
10
winglight2016 2018-01-06 17:57:14 +08:00
alias 是比较常见的做法,一个脚本就能搞定的事情
|
11
likuku 2018-01-06 18:00:45 +08:00
@codeeer [aws 经常不知因为啥操作 key 就不能用了], 怎么可能...只用 key 登陆 aws 的路过,前天才登过一次。
|
13
SimbaPeng 2018-01-06 18:04:52 +08:00
mac 下最好 ssh 连接工具是 Termius
|
14
likuku 2018-01-06 18:06:16 +08:00 2
放着 ssh-key 认证不用,这是何苦?你 macOS 哪个版本?
macos 自己的 key-chain 会在第一次使用 key 登陆时,把 id_rsa/private_key 的 passphrase 给加密保存下来, 之后只要 macos 通过你自己 mac 的账密登陆,就自动给 private_key 解锁,并加入 ssh-agent, 这时终端下直接 ssh 登录放过 public-key 的主机,丝般流畅。 macOS 在 10.12 时更改过 ssh 客户端的默认设定,你要确保你的 ~/.ssh/config 里得有以下: ForwardAgent yes UseKeychain yes AddKeysToAgent yes 才好使。 |
15
agnewee OP 额,那应该是我的姿势不对了,很尴尬…
|
16
SPACELAN 2018-01-06 18:31:34 +08:00
ssh-key 啊
就算有限制不能用 key,也可以配置 ssh-confg,使链接持久化,这样再次登录时也不用输入密码了 |
18
unidentifiedme 2018-01-06 18:37:05 +08:00
用 ssh config 和 key 就搞定的事情,随手找了个链接 http://codelife.me/blog/2012/09/01/ssh-session-profile-management-in-terminal-of-macos-x/
|
20
zeyexe 2018-01-06 19:10:33 +08:00
SecureCRT 有个 Anti-idle
|
21
HuHui 2018-01-06 19:11:30 +08:00
iterm2+sshpass
|
22
zeyexe 2018-01-06 19:11:43 +08:00
SecureCRT 有个 Anti-idle 的配置,勾选 Send NO-OP 就可以保持连接了。
|
23
sunwei0325 2018-01-06 19:50:01 +08:00
试一下 mosh 吧, 你会爱上它的
|
24
HandSonic 2018-01-06 20:00:46 +08:00
推荐 Termius
|
25
jorneyr 2018-01-06 20:18:24 +08:00
iTerm + expect 脚本,不让贴连接
|
27
SeonMe 2018-01-06 21:32:26 +08:00 via Android
key 搞定,在 user 目录建一个 .ssh 文件夹(应该都有),再建一个 config 文件 ,里边儿写上 name,host,post 就可以了
|
29
tracyone 2018-01-06 23:26:03 +08:00
连 key 都不知道,写出了 ssh 连接工具,只能 hehe 了。
|
30
q397064399 2018-01-07 09:22:36 +08:00
@tracyone #29 谁不是小白过来的。
|
31
joysir 2018-01-07 10:23:57 +08:00
用 key,配置 config,直接用别名登录,都不需要记这些。
|
32
redapple0204 2018-01-07 12:15:31 +08:00
貌似深度终端有这个工具来着。。
|
33
ranye 2018-01-07 13:44:37 +08:00 1
用 key 登入,然后如下设置下 .ssh/config 就行了
Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa Host [whatever] HostName [IP address] Port 12345 User root ServerAliveInterval 10 |
34
Kokororin 2018-01-07 15:05:59 +08:00
sshpass
|
35
2owe 2018-01-07 17:00:49 +08:00
ssh 可以加一个选项 -o,表示配置自动活跃,令 SSH 连接不会因为长时间无输入自动断掉。
比如: ``` ssh user@host -o ServerAliveInterval=60 ``` 鉴于折腾可能是无止境的,老夫这里有一份折腾小册子,少侠可以拿去作为参考: 『分享』打通终端到服务器,我推荐它们 https://hit1024.com/post/2016-10-30 内容是关于这些工具的使用和简单配置:iTerm,Zsh,mosh,SSH public-key authentication,Tmux。 |
36
labulaka 2018-01-07 22:24:43 +08:00
SecureCRT 里面有一项设置 隔多少秒发数据包给服务器 这样就不会断开了
|
37
wizardoz 2018-01-08 09:58:01 +08:00
ssh-copy-id 正解,然后配合上.ssh/config 配置。
详情:man ssh_config |
39
agnewee OP 感谢各位大佬,通过 key 确实是一种比较方便的方式。
|
40
pangliang 2018-01-08 11:37:49 +08:00
ssh_config + ControlPath 也可以的
|
41
likuku 2018-01-08 23:39:47 +08:00
~/.ssh/config 别名 + bash 的 alias,不要太方便...
我 config 里定义有使用特定账户,特定端口 的 树莓派,命名为 pi ~/.bash_profile 里再 alias pi='ssh pi' 如此,开终端直接敲 pi 就登入这台树莓派。 mac 上用 SecureCRT 也是挺稀罕.. |
44
codeeer 2018-01-09 00:09:22 +08:00 via iPhone
@likuku 新开一台服务器,同步代码系统,切换域名哈哈😄客服太慢了。不知是不是更新的事,只在 aws 出现过这样情况,原因也不好排查,毕竟连不上
|
45
Linxing 2018-01-09 10:51:20 +08:00
ssh -i
|
46
leoliuliu 2018-01-09 11:30:38 +08:00
vssh 没有什么是人民币做不了的事情
|
47
kios 2018-01-15 08:20:39 +08:00 via iPhone
我都是在 zsh 配置好了的
|