And*_*rew 4 bash ssh permissions shell-script
首先,如果这是一个非常明显/微不足道的问题,我深表歉意,我仍在学习 linux/unix 的来龙去脉。
我使用了一些需要通过 ssh 和私钥访问才能登录的服务器。所以,命令是这样的:
ssh -i /path/to/key.pem user@000.000.000.000
我已经创建了一个 bash 脚本,让我只使用自己的调用,access,并且只有一个基本的 switch 语句来控制我登录的服务器。例如,access server1将发出适当的ssh命令登录到 server1。
问题
该ssh呼叫刚刚挂断,我留下,将不接受空终端SIGINT(Ctrl+ C),我必须退出终端,并再次打开它,甚至用它。
据我所知,这可能是私钥的权限问题。它的权限目前是600. 将其更改为644给我一个错误,即权限太开放并退出ssh尝试。有什么建议吗?
目前ssh_config,对于这一点,提出在这里你可以指定你的主机别名和密钥并将其存储,而无需创建这样的切腹作为的bash脚本这样做。它基本上~/.ssh/config以这种格式存储在您的文件中:
Host host1
Hostname 000.000.000.000
User user
IdentityFile /path/to/key.pem
Run Code Online (Sandbox Code Playgroud)
然后你可以简单地打电话
ssh host1
Run Code Online (Sandbox Code Playgroud)
到达,得到 000.000.000.000
如果您真的想提高效率并拥有更短的快捷方式,那么 bashalias比 bash 脚本更合适。
alias access="ssh -i /path/to/key.pem user@000.000.000.000"
Run Code Online (Sandbox Code Playgroud)如果你真的想使用 bash 脚本,你需要强制 ssh 使用-tt选项在远程服务器上分配你的 TTY :
ssh -tti /path/to/key.pem user@000.000.000.000
Run Code Online (Sandbox Code Playgroud)欲了解更多的技巧,你可以浏览该手册页ssh和ssh_config。
| 归档时间: |
|
| 查看次数: |
5529 次 |
| 最近记录: |