Bitbucket 管道 - 如何设置 ssh
Bitbuket pipeline - how to set ssh
当我的管道运行时,出现以下错误:
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/config
debug1: key_load_private_type: incorrect passphrase supplied to decrypt private key
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
lost connection
这是我的 .yml 文件:
image: maven:3.3.9
pipelines:
default:
- step:
caches:
- maven
name: Build
script: # Modify the commands below to build your repository.
- echo "Build Start"
- mvn package
- echo $BUILD_DIR
- mv target/**.jar target/transpoDirect.jar
artifacts:
- target/**.jar
- step:
name: Deploy
image: maven:3.3.9
script:
- ls -la .
- scp -i ~/.ssh/config -P 7822 -v -o StrictHostKeyChecking=no target/*.jar root@$hostName:/var/transpoDirect/.
- ssh -p 7822 -i ~/.ssh/config -v -o StrictHostKeyChecking=no root@$hostName sudo service transpoDirect restart
我试过的是 chmod ~/.ssh 文件夹和那里的文件到 777
hostName 变量在存储库的设置中设置。
重新生成密钥。粘贴到远程服务器的 authorize_keys 文件中,但我仍然遇到相同的错误
authorized_keys 的位置:
============================================= ===================
这是有效的:
- 已从 bitbucket 的管道中删除 SSH 密钥。
- 使用以下命令在远程服务器上生成了 SSH 密钥:ssh-keygen
- 以上命令使用默认值,不设置密码。
- 生成密钥的默认位置是:/root/.ssh
- .ssh 文件夹已隐藏。使用 winSCP 您可以取消隐藏隐藏的文件夹。
- 已从远程服务器复制 id_rsa.pub 的内容并粘贴到 bitbucket 的 SSH。
- 在 /root/.ssh
中使用 id_rsa.pub 的内容创建了 authorized_keys
- 从远程服务器复制 id_rsa 的内容并粘贴到 bitbucket 的 SSH。
这会将 jar 复制到远程服务器:
- scp -i /root/.ssh -4 -P 7822 -v -o StrictHostKeyChecking=no target/*.jar root@$hostName:/var/transpoDirect/.
这将按照此处所述重新启动服务:https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
- ssh -4 -p 7822 -i /root/.ssh -v -o StrictHostKeyChecking=no root@$hostName sudo service transpoDirect 重启
您与 SSH 密钥一起使用的私钥有一个密码,但您没有在 YAML 中的任何地方指定密码。您可以生成一个专供 Pipelines 使用的新密钥,或者您可以上传没有密码的现有密钥的副本,或者您可能能够使用环境变量来提供密码。
这是有效的:
- 已从 bitbucket 的管道中删除 SSH 密钥。
- 使用以下命令在远程服务器上生成了 SSH 密钥:ssh-keygen
- 以上命令使用默认值,不设置密码。
- 生成密钥的默认位置是:/root/.ssh
- .ssh 文件夹已隐藏。使用 winSCP 您可以取消隐藏隐藏的文件夹。
- 已从远程服务器复制 id_rsa.pub 的内容并粘贴到 bitbucket 的 SSH。
- 在 /root/.ssh
中使用 id_rsa.pub 的内容创建了 authorized_keys
- 从远程服务器复制 id_rsa 的内容并粘贴到 bitbucket 的 SSH。
这会将 jar 复制到远程服务器:
scp -i /root/.ssh -4 -P 7822 -v -o StrictHostKeyChecking=no target/*.jar root@$hostName:/var/transpoDirect/.
这将按照此处所述重新启动服务:https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
ssh -4 -p 7822 -i /root/.ssh -v -o StrictHostKeyChecking=no root@$hostName sudo service transpoDirect restart
进一步说明:
该文件应放在 $HOME/.ssh/authorized_keys
您可以通过 eval echo "$HOME" 检查 $HOME 的位置
此外,需要了解的是 id_rsa 是私有文件 - 这意味着该文件不会共享,但 id_rsa.pub 是 public 文件,这是要共享的文件给其他服务器。
当我的管道运行时,出现以下错误:
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/config
debug1: key_load_private_type: incorrect passphrase supplied to decrypt private key
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
lost connection
这是我的 .yml 文件:
image: maven:3.3.9
pipelines:
default:
- step:
caches:
- maven
name: Build
script: # Modify the commands below to build your repository.
- echo "Build Start"
- mvn package
- echo $BUILD_DIR
- mv target/**.jar target/transpoDirect.jar
artifacts:
- target/**.jar
- step:
name: Deploy
image: maven:3.3.9
script:
- ls -la .
- scp -i ~/.ssh/config -P 7822 -v -o StrictHostKeyChecking=no target/*.jar root@$hostName:/var/transpoDirect/.
- ssh -p 7822 -i ~/.ssh/config -v -o StrictHostKeyChecking=no root@$hostName sudo service transpoDirect restart
我试过的是 chmod ~/.ssh 文件夹和那里的文件到 777
hostName 变量在存储库的设置中设置。
重新生成密钥。粘贴到远程服务器的 authorize_keys 文件中,但我仍然遇到相同的错误
authorized_keys 的位置:
============================================= ===================
这是有效的:
- 已从 bitbucket 的管道中删除 SSH 密钥。
- 使用以下命令在远程服务器上生成了 SSH 密钥:ssh-keygen
- 以上命令使用默认值,不设置密码。
- 生成密钥的默认位置是:/root/.ssh
- .ssh 文件夹已隐藏。使用 winSCP 您可以取消隐藏隐藏的文件夹。
- 已从远程服务器复制 id_rsa.pub 的内容并粘贴到 bitbucket 的 SSH。
- 在 /root/.ssh 中使用 id_rsa.pub 的内容创建了 authorized_keys
- 从远程服务器复制 id_rsa 的内容并粘贴到 bitbucket 的 SSH。
这会将 jar 复制到远程服务器:
- scp -i /root/.ssh -4 -P 7822 -v -o StrictHostKeyChecking=no target/*.jar root@$hostName:/var/transpoDirect/.
这将按照此处所述重新启动服务:https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
- ssh -4 -p 7822 -i /root/.ssh -v -o StrictHostKeyChecking=no root@$hostName sudo service transpoDirect 重启
您与 SSH 密钥一起使用的私钥有一个密码,但您没有在 YAML 中的任何地方指定密码。您可以生成一个专供 Pipelines 使用的新密钥,或者您可以上传没有密码的现有密钥的副本,或者您可能能够使用环境变量来提供密码。
这是有效的:
- 已从 bitbucket 的管道中删除 SSH 密钥。
- 使用以下命令在远程服务器上生成了 SSH 密钥:ssh-keygen
- 以上命令使用默认值,不设置密码。
- 生成密钥的默认位置是:/root/.ssh
- .ssh 文件夹已隐藏。使用 winSCP 您可以取消隐藏隐藏的文件夹。
- 已从远程服务器复制 id_rsa.pub 的内容并粘贴到 bitbucket 的 SSH。
- 在 /root/.ssh 中使用 id_rsa.pub 的内容创建了 authorized_keys
- 从远程服务器复制 id_rsa 的内容并粘贴到 bitbucket 的 SSH。
这会将 jar 复制到远程服务器:
scp -i /root/.ssh -4 -P 7822 -v -o StrictHostKeyChecking=no target/*.jar root@$hostName:/var/transpoDirect/.
这将按照此处所述重新启动服务:https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
ssh -4 -p 7822 -i /root/.ssh -v -o StrictHostKeyChecking=no root@$hostName sudo service transpoDirect restart
进一步说明: 该文件应放在 $HOME/.ssh/authorized_keys 您可以通过 eval echo "$HOME" 检查 $HOME 的位置 此外,需要了解的是 id_rsa 是私有文件 - 这意味着该文件不会共享,但 id_rsa.pub 是 public 文件,这是要共享的文件给其他服务器。