Windows SSH远程免密登陆Linux服务器脚本

@echo off
setlocal

:: Set server information and username
set SERVER=(ip_address)
set USER=(user)

:: Check if OpenSSH is installed
where ssh >nul 2>nul
if errorlevel 1 (
    echo OpenSSH client is not installed. Please install OpenSSH client and ensure ssh command is in the system path.
    exit /b
)

:: Generate SSH key pair if it does not exist
if not exist "%USERPROFILE%\.ssh\id_rsa" (
    echo Generating new SSH key pair...
    ssh-keygen -t rsa -b 4096 -C "%USER%@%SERVER%" -f "%USERPROFILE%\.ssh\id_rsa" -P ""
) else (
    echo SSH key pair already exists, skipping generation.
)

:: Create .ssh directory on the remote server if it doesn't exist
echo Creating .ssh directory on the remote server if it doesn't exist...
ssh "%USER%@%SERVER%" mkdir -p .ssh

:: Set permissions for the .ssh directory on the remote server
echo Setting permissions for the .ssh directory on the remote server...
ssh "%USER%@%SERVER%" chmod 700 .ssh

:: Copy the public key to the Ubuntu server
echo Copying the public key to the Ubuntu server...
scp "%USERPROFILE%\.ssh\id_rsa.pub" "%USER%@%SERVER%:.ssh/authorized_keys"

:: Set permissions for the authorized_keys file on the remote server
echo Setting permissions for the authorized_keys file on the remote server...
ssh "%USER%@%SERVER%" chmod 600 .ssh/authorized_keys

echo Done! You should now be able to log in to the Ubuntu server without a password.

:: Pause the script, waiting for user input
pause

endlocal

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值