标签: ssh

由于stdin不是终端,因此不会分配伪终端

我正在尝试编写一个shell脚本,在远程服务器上创建一些目录,然后使用scp将文件从本地计算机复制到远程服务器上.这是我到目前为止所拥有的:

ssh -t user@server<<EOT
DEP_ROOT='/home/matthewr/releases'
datestamp=$(date +%Y%m%d%H%M%S)
REL_DIR=$DEP_ROOT"/"$datestamp
if [ ! -d "$DEP_ROOT" ]; then
    echo "creating the root directory"
    mkdir $DEP_ROOT
fi
mkdir $REL_DIR
exit
EOT

scp ./dir1 user@server:$REL_DIR
scp ./dir2 user@server:$REL_DIR
Run Code Online (Sandbox Code Playgroud)

每当我运行它时,我收到此消息:

Pseudo-terminal will not be allocated because stdin is not a terminal.
Run Code Online (Sandbox Code Playgroud)

脚本永远挂起.

我的公钥在服务器上是可信的,我可以在脚本之外运行所有命令.有任何想法吗?

linux ssh bash shell

316
推荐指数
8
解决办法
39万
查看次数

为什么GitHub推荐使用SSH over SSH?

在GitHub网站上有一个链接......

https://help.github.com/articles/generating-ssh-keys

......它说......

如果您决定不使用推荐的HTTPS方法,我们可以使用SSH密钥在您的计算机和GitHub之间建立安全连接.以下步骤将指导您生成SSH密钥,然后将公钥添加到您的GitHub帐户.

为什么HTTPS是推荐的方法?SSH方法中是否存在某种安全漏洞或者速度较慢?我创建了一个SSH密钥,这样可以减轻任何安全问题吗?

git ssh https github

309
推荐指数
5
解决办法
11万
查看次数

存储库访问被拒绝.通过部署密钥进行访问是只读的

成功克隆了来自heroku的repo并添加了另一个遥控器

1/ git clone git@heroku.com:[APP].git
2/ git remote add bitbucket ssh://git@bitbucket.org/[ACCOUNT]/[REPO].git
3/ git push bitbucket master
Run Code Online (Sandbox Code Playgroud)

运行第(3)行或使用SourceTree后,我仍然收到此错误

conq: repository access denied. access via a deployment key is read-only.
Run Code Online (Sandbox Code Playgroud)

首先,我不明白这个消息在实践中意味着什么.这太可惜了.

我确实创建了ssh密钥对并添加到heroku:

ssh-keygen -t rsa 
heroku keys:add ./id_rsa.pub 
Run Code Online (Sandbox Code Playgroud)

我还在BitBucket中的部署密钥部分添加了我的密钥.但我必须遗漏一些东西.这个问题并非出于懒惰,我一直在阅读各种文档,包括BitBuckets指南.但它仍然无法解决这个问题.

这篇文章与我可以将我的heroku git repo导入bitbuket有关吗?如何?

其他事实:

ssh -T hg@bitbucket.org
conq: authenticated via a deploy key.

You can use git or hg to connect to Bitbucket. Shell access is disabled.


$ ssh -v git@bitbucket.org
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/joel/.ssh/config …
Run Code Online (Sandbox Code Playgroud)

git ssh bitbucket ssh-keys

299
推荐指数
8
解决办法
17万
查看次数

使用rsync从远程服务器将文件复制到本地计算机

一旦我进入我的远程服务器,该命令将目录中的所有文件复制到我的机器上的本地目录中?

ssh rsync

292
推荐指数
3
解决办法
27万
查看次数

在Linux中,如何在关闭SSH客户端后阻止后台进程停止

我正在通过SSH(Putty)在linux机器上工作.我需要让一个进程在夜间运行,所以我想我可以通过在后台启动进程(在命令末尾有一个&符号)并将stdout重定向到文件来做到这一点.令我惊讶的是,这不起作用.一旦我关闭Putty窗口,该过程就会停止.

我怎样才能防止这种情况发生?

linux ssh process background-process

283
推荐指数
12
解决办法
22万
查看次数

获取ssh以在目标计算机上的后台执行命令

这是关于如何在shell脚本中使用ssh的后续问题题.如果我想在该机器的后台运行的远程机器上执行命令,我该如何获取ssh命令?当我尝试在命令末尾包含&符号时,它就会挂起.命令的确切形式如下所示:

ssh user@target "cd /some/directory; program-to-execute &"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?需要注意的一点是,登录目标计算机始终会生成文本标题,并且我已设置SSH密钥,因此无需密码.

ssh bash csh

282
推荐指数
9
解决办法
28万
查看次数

SSH到Elastic Beanstalk实例

我刚刚注册了亚马逊的新Elastic Beanstalk产品.我无法弄清楚如何SSH到Beanstalk实例.我没有私钥,因为Beanstalk代表我生成了实例.

ssh amazon-ec2 amazon-web-services amazon-elastic-beanstalk

281
推荐指数
9
解决办法
11万
查看次数

如何验证/检查/测试/验证我的SSH密码?

我可能忘记了SSH密码的密码.再次.

但我有预感它可能是什么.我如何检查我是否正确?

ssh openssh ssh-keys

267
推荐指数
4
解决办法
16万
查看次数

删除Vim中的换行符

有没有办法删除Vim中一行末尾的换行符,以便下一行附加到当前行?

例如:

Evaluator<T>():
    _bestPos(){
}
Run Code Online (Sandbox Code Playgroud)

我想将这一切都放在一行而不复制行并将它们粘贴到前一行.看起来我应该能够将光标放到每一行的末尾,按一个键,然后让下一行跳转到光标所在的同一行.

最终结果:

Evaluator<T>(): _bestPos(){ }
Run Code Online (Sandbox Code Playgroud)

这可能在Vim?

unix vi vim ssh shell

257
推荐指数
7
解决办法
18万
查看次数

ssh配置:覆盖默认用户名

是否可以配置ssh以了解我的用户名应该是什么?默认情况下,它使用当前用户名,在我的情况下这是不正确的.

我是一个借用笔记本电脑,我的用户名是loaner,但我想告诉ssh我的用户名是buck.

加分:我家里的用户名是bgolemon.如果我可以配置每个主机的用户名,那将更好.

unix ssh

247
推荐指数
4
解决办法
14万
查看次数