スクリプトを実行した後、ID (2 層の認証) を介してサーバーに接続するスクリプトを作成したいと考えています。
ssh id@server->password
この認証の後、もう 1 回の認証 スーパーユーザー認証
username :
password :
私のOSはMACです。
これが「うまくいく」ようにすべてを正しくするのはかなり難しいです。最も文書化されていない問題は、ログイン ディレクトリ、.ssh ディレクトリ、および .ssh ディレクトリ内のファイルに対する適切な保護です。これは、すべてを正しく設定するために使用するスクリプトです。
#!/bin/tcsh -x
#
# sshkeygen.sh
#
# make sure your login directory has the right permissions
chmod 755 ~
# make sure your .ssh dir exists and has the right permissions
mkdir -pv -m 700 ~/.ssh
chmod 0700 ~/.ssh
# remove any existing rsa/dsa keys
rm -f ~/.ssh/id_rsa* ~/.ssh/id_dsa*
# if your ssh keys don't exist
set keyname = "`whoami`_at_`hostname`-id_rsa"
echo "keyname: $keyname"
if( ! -e ~/.ssh/$keyname ) then
# generate them
ssh-keygen -b 1024 -t rsa -f ~/.ssh/$keyname -P ''
endif
cd ~/.ssh
# set the permissions
chmod 0700 *id_rsa
chmod 0644 *id_rsa.pub
# create symbolic links to them for the (default) id_rsa files
ln -sf $keyname id_rsa
ln -sf $keyname.pub id_rsa.pub
whoami
「 athostname
-id_rsa.pub」ファイルを(管理者として)共有サーバーにコピーし、それをそのシステムの .ssh/authorized_keys ファイルにマージしてからローカルマシンにコピーする別のスクリプトがあります。これらのスクリプトを初めて実行すると、ユーザーは共有サーバーへの管理者パスワードの入力を求められますが、その後はすべて「正常に動作」します。
ああ、それは「Mac」です(「MAC」ではありません)。[\pedantic] ;-)