我正在尝试编写一个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)
脚本永远挂起.
我的公钥在服务器上是可信的,我可以在脚本之外运行所有命令.有任何想法吗?
在GitHub网站上有一个链接......
https://help.github.com/articles/generating-ssh-keys
......它说......
如果您决定不使用推荐的HTTPS方法,我们可以使用SSH密钥在您的计算机和GitHub之间建立安全连接.以下步骤将指导您生成SSH密钥,然后将公钥添加到您的GitHub帐户.
为什么HTTPS是推荐的方法?SSH方法中是否存在某种安全漏洞或者速度较慢?我创建了一个SSH密钥,这样可以减轻任何安全问题吗?
成功克隆了来自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) 我正在通过SSH(Putty)在linux机器上工作.我需要让一个进程在夜间运行,所以我想我可以通过在后台启动进程(在命令末尾有一个&符号)并将stdout重定向到文件来做到这一点.令我惊讶的是,这不起作用.一旦我关闭Putty窗口,该过程就会停止.
我怎样才能防止这种情况发生?
这是关于如何在shell脚本中使用ssh的后续问题?题.如果我想在该机器的后台运行的远程机器上执行命令,我该如何获取ssh命令?当我尝试在命令末尾包含&符号时,它就会挂起.命令的确切形式如下所示:
ssh user@target "cd /some/directory; program-to-execute &"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?需要注意的一点是,登录目标计算机始终会生成文本标题,并且我已设置SSH密钥,因此无需密码.
我刚刚注册了亚马逊的新Elastic Beanstalk产品.我无法弄清楚如何SSH到Beanstalk实例.我没有私钥,因为Beanstalk代表我生成了实例.
我可能忘记了SSH密码的密码.再次.
但我有预感它可能是什么.我如何检查我是否正确?
有没有办法删除Vim中一行末尾的换行符,以便下一行附加到当前行?
例如:
Evaluator<T>():
_bestPos(){
}
Run Code Online (Sandbox Code Playgroud)
我想将这一切都放在一行而不复制行并将它们粘贴到前一行.看起来我应该能够将光标放到每一行的末尾,按一个键,然后让下一行跳转到光标所在的同一行.
最终结果:
Evaluator<T>(): _bestPos(){ }
Run Code Online (Sandbox Code Playgroud)
这可能在Vim?
是否可以配置ssh以了解我的用户名应该是什么?默认情况下,它使用当前用户名,在我的情况下这是不正确的.
我是一个借用笔记本电脑,我的用户名是loaner,但我想告诉ssh我的用户名是buck.
加分:我家里的用户名是bgolemon.如果我可以配置每个主机的用户名,那将更好.